Câu hỏi được gắn thẻ «c++»

C ++ là ngôn ngữ lập trình có mục đích chung. Ban đầu nó được thiết kế như một phần mở rộng cho C và có cú pháp tương tự, nhưng giờ đây nó là một ngôn ngữ hoàn toàn khác. Sử dụng thẻ này cho các câu hỏi về mã (sẽ được) được biên dịch bằng trình biên dịch C ++. Sử dụng thẻ dành riêng cho phiên bản cho các câu hỏi liên quan đến sửa đổi tiêu chuẩn cụ thể [C ++ 11], [C ++ 14], [C ++ 17] hoặc [C ++ 20], v.v.


4
Có hợp lệ để sử dụng std :: Transform với std :: back_inserter không?
Cppreference có mã ví dụ này cho std::transform : std::vector<std::size_t> ordinals; std::transform(s.begin(), s.end(), std::back_inserter(ordinals), [](unsigned char c) -> std::size_t { return c; }); Nhưng nó cũng nói: std::transformkhông đảm bảo ứng dụng theo thứ tự của unary_ophoặc binary_op. Để áp dụng một chức năng cho một thứ tự theo thứ …


3
Hành vi không xác định trong vectơ đúc
Tại sao mã này viết một số lượng không xác định của các số nguyên dường như chưa được khởi tạo? #include <iostream> #include <vector> using namespace std; int main() { for (int i : vector<vector<int>>{{77, 777, 7777}}[0]) cout << i << ' '; } Tôi dự kiến ​​đầu ra …
19 c++ 

2
số int -> quy tắc chuyển đổi con trỏ
Hãy xem xét các mã sau đây. void f(double p) {} void f(double* p) {} int main() { f(1-1); return 0; } MSVC 2017 không biên dịch được điều đó. Nó chỉ ra rằng có một cuộc gọi quá tải mơ hồ, 1-1giống như 0và do đó có thể được …
19 c++  visual-c++  types 

3
c ++ Chủ đề bên trong cho vòng lặp in giá trị sai
Tôi đang cố gắng hiểu Đa luồng trong c ++, nhưng tôi bị mắc kẹt trong vấn đề này: nếu tôi khởi chạy các luồng trong một vòng lặp for thì chúng in sai các giá trị. Đây là mã: #include <iostream> #include <list> #include <thread> void print_id(int id){ printf("Hello …




2
Tại sao khái niệm same_as kiểm tra loại bằng hai lần?
Nhìn vào khả năng triển khai của khái niệm same_as tại https://en.cppreference.com/w/cpp/con accept / same_as tôi nhận thấy điều gì đó kỳ lạ đang xảy ra. namespace detail { template< class T, class U > concept SameHelper = std::is_same_v<T, U>; } template< class T, class U > concept same_as = …
19 c++  c++20  concept 


5
Làm thế nào để giải quyết
Chương trình ngắn sau #include <vector> #include <iostream> std::vector<int> someNums() { return {3, 5, 7, 11}; } class Woop { public: Woop(const std::vector<int>& nums) : numbers(nums) {} void report() { for (int i : numbers) std::cout << i << ' '; std::cout << '\n'; } private: const std::vector<int>& numbers; }; …
18 c++ 

3
Giá trị đóng cửa Lambda có thể được thông qua dưới dạng tham số giá trị
Tôi thấy rằng lvalueviệc đóng lambda luôn có thể được truyền dưới dạng rvaluetham số hàm. Xem trình diễn đơn giản sau đây. #include <iostream> #include <functional> using namespace std; void foo(std::function<void()>&& t) { } int main() { // Case 1: passing a `lvalue` closure auto fn1 = []{}; foo(fn1); …



Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.