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 cookie và Chính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.