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).

4
Chuyển shared_ptr <Derived> as shared_ptr <Base>
Phương pháp tốt nhất để chuyển một shared_ptrkiểu dẫn xuất sang một hàm nhận shared_ptrkiểu cơ sở là gì? Tôi thường chuyển shared_ptrs bằng cách tham khảo để tránh một bản sao không cần thiết: int foo(const shared_ptr&lt;bar&gt;&amp; ptr); nhưng điều này không hiệu quả nếu tôi cố gắng làm …


2
Mô hình bộ nhớ và triển khai lambda C ++ 11
Tôi muốn một số thông tin về cách nghĩ đúng về các bao đóng C ++ 11 và std::functionvề cách chúng được triển khai và cách xử lý bộ nhớ. Mặc dù tôi không tin vào việc tối ưu hóa quá sớm, nhưng tôi có thói quen xem xét cẩn …
92 c++  memory  lambda  c++11 


6
error :: make_unique không phải là thành viên của 'std'
Tôi đang cố gắng biên dịch chương trình nhóm chủ đề sau được đăng trên đánh giá mã để kiểm tra nó. /codereview/55100/platform-independant-thread-pool-v4 Nhưng tôi đang nhận lỗi threadpool.hpp: In member function ‘std::future&lt;decltype (task((forward&lt;Args&gt;)(args)...))&gt; threadpool::enqueue_task(Func&amp;&amp;, Args&amp;&amp; ...)’: threadpool.hpp:94:28: error: ‘make_unique’ was not declared in this scope auto package_ptr = make_unique&lt;task_package_impl&lt;R, …


3
Constexpr so với macro
Tôi nên sử dụng macro ở đâu và tôi thích constexpr ở đâu? Về cơ bản chúng không giống nhau sao? #define MAX_HEIGHT 720 vs constexpr unsigned int max_height = 720;
92 c++  c++11  macros  constexpr 


3
Loại trả lại rõ ràng của Lambda
Khi tôi thử và biên dịch mã này (VS2010), tôi gặp lỗi sau: error C3499: a lambda that has been specified to have a void return type cannot return a value void DataFile::removeComments() { string::const_iterator start, end; boost::regex expression("^\\s?#"); boost::match_results&lt;std::string::const_iterator&gt; what; boost::match_flag_type flags = boost::match_default; // Look for lines that …





5
Tại sao lambda có kích thước 1 byte?
Tôi đang làm việc với bộ nhớ của một số lambdas trong C ++, nhưng tôi hơi khó hiểu với kích thước của chúng. Đây là mã thử nghiệm của tôi: #include &lt;iostream&gt; #include &lt;string&gt; int main() { auto f = [](){ return 17; }; std::cout &lt;&lt; f() &lt;&lt; std::endl; …
89 c++  c++11  lambda  c++14  sizeof 

3
Cách tạo typedef có điều kiện trong C ++
Tôi đang cố gắng làm điều gì đó như sau: #include &lt;iostream&gt; #include &lt;random&gt; typedef int Integer; #if sizeof(Integer) &lt;= 4 typedef std::mt19937 Engine; #else typedef std::mt19937_64 Engine; #endif int main() { std::cout &lt;&lt; sizeof(Integer) &lt;&lt; std::endl; return 0; } nhưng tôi gặp lỗi này: error: missing binary operator before …
89 c++  c++11 

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.