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

Sử dụng thẻ này cho mã phải biên dịch thành C ++ 11 (không sử dụng bất kỳ tính năng nào được giới thiệu trong C ++ 14 trở lên).




1
std :: hồi quy hiệu suất vector khi bật C ++ 11
Tôi đã tìm thấy một hồi quy hiệu suất thú vị trong một đoạn C ++ nhỏ, khi tôi bật C ++ 11: #include <vector> struct Item { int a; int b; }; int main() { const std::size_t num_items = 10000000; std::vector<Item> container; container.reserve(num_items); for (std::size_t i = 0; i …
235 c++  performance  gcc  c++11  vector 

4
Tại sao tôi lại sử dụng Push_back thay vì emplace_back?
Các vectơ C ++ 11 có chức năng mới emplace_back. Không giống như push_back, dựa trên tối ưu hóa trình biên dịch để tránh các bản sao, emplace_backsử dụng chuyển tiếp hoàn hảo để gửi các đối số trực tiếp đến hàm tạo để tạo một đối tượng tại chỗ. …
232 c++  c++11  std 


10
Chức năng lambda có thể được templated?
Trong C ++ 11, có cách nào để tạo mẫu hàm lambda không? Hoặc nó vốn đã quá cụ thể để được templated? Tôi hiểu rằng tôi có thể định nghĩa một lớp / functor cổ điển thay thế, nhưng câu hỏi giống như: ngôn ngữ có cho phép tạo …
230 c++  templates  lambda  c++11 






2
Tại sao tôi không thể đẩy một unique_ptr vào một vectơ?
Có gì sai với chương trình này? #include <memory> #include <vector> int main() { std::vector<std::unique_ptr<int>> vec; int x(1); std::unique_ptr<int> ptr2x(&x); vec.push_back(ptr2x); //This tiny command has a vicious error. return 0; } Lỗi: In file included from c:\mingw\bin\../lib/gcc/mingw32/4.5.0/include/c++/mingw32/bits/c++allocator.h:34:0, from c:\mingw\bin\../lib/gcc/mingw32/4.5.0/include/c++/bits/allocator.h:48, from c:\mingw\bin\../lib/gcc/mingw32/4.5.0/include/c++/memory:64, from main.cpp:6: c:\mingw\bin\../lib/gcc/mingw32/4.5.0/include/c++/bits/unique_ptr.h: In member function 'void __gnu_cxx::new_allocator<_Tp>::construct(_Tp*, const …

6
make_unique và chuyển tiếp hoàn hảo
Tại sao không có std::make_uniquemẫu hàm trong thư viện C ++ 11 tiêu chuẩn? Tôi tìm thấy std::unique_ptr<SomeUserDefinedType> p(new SomeUserDefinedType(1, 2, 3)); dài dòng một chút. Không phải sau đây sẽ đẹp hơn nhiều? auto p = std::make_unique<SomeUserDefinedType>(1, 2, 3); Điều này ẩn giấu newđộc đáo và chỉ đề cập …


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.