Вопросы с тегом «c++11»

Используйте этот тег для кода, который должен компилироваться как C ++ 11 (без использования каких-либо функций, представленных в C ++ 14 или более поздних версиях).


17
Как включить поддержку C ++ 11 / C ++ 0x в Eclipse CDT?
Eclipse 3.7.1 CDT 1.4.1 GCC 4.6.2 Это пример фрагмента кода C ++ 11: auto text = std::unique_ptr<char[]>(new char[len]); Редактор Eclipse жалуется на: Function 'unique_ptr' could not be resolved Компиляция Makefile работает отлично. Как заставить Eclipse перестать жаловаться на подобные ошибки?

8
Передача лямбда-захвата в качестве указателя на функцию
Можно ли передать лямбда-функцию в качестве указателя на функцию? Если это так, я должен что-то делать неправильно, потому что я получаю ошибку компиляции. Рассмотрим следующий пример using DecisionFn = bool(*)(); class Decide { public: Decide(DecisionFn dec) : _dec{dec} {} private: DecisionFn _dec; }; int main() { int x = 5; …

2
Может ли современный C ++ получить производительность бесплатно?
Иногда утверждают, что C ++ 11/14 может повысить производительность даже при простой компиляции кода C ++ 98. Обоснование обычно происходит в соответствии с семантикой перемещения, поскольку в некоторых случаях конструкторы rvalue генерируются автоматически или теперь являются частью STL. Теперь мне интересно, были ли эти случаи ранее уже обрабатывались RVO или …

3
неопределенная ссылка на 'std :: cout'
Это будет пример: #include <iostream> using namespace std; int main() { cout << "Hola, moondo.\n"; } Выдает ошибку: gcc -c main.cpp gcc -o edit main.o main.o: In function `main': main.cpp:(.text+0xa): undefined reference to `std::cout' main.cpp:(.text+0xf): undefined reference to `std::basic_ostream<char,std::char_traits<char> >& std::operator<< <std::char_traits<char>>(std::basic_ostream<char, std::char_traits<char> >&, char const*)' main.o: In function `__static_initialization_and_destruction_0(int,int)': …
198 c++  c++11  gcc  cout 

7
Зачем использовать функции, не являющиеся членами начала и конца, в C ++ 11?
Каждый стандартный контейнер имеет beginи endспособ возвращения итераторов для этого контейнера. Тем не менее, C ++ 11, по- видимому , введенные свободные функции называются std::beginи std::endкоторые называют beginи endчлены функции. Итак, вместо того, чтобы писать auto i = v.begin(); auto e = v.end(); ты бы написал auto i = std::begin(v); …


2
Имеет ли смысл статическая переменная constexpr внутри функции?
Если у меня есть переменная внутри функции (скажем, большой массив), имеет ли смысл объявлять ее одновременно staticи constexpr? constexprгарантирует, что массив создается во время компиляции, так что staticбудет бесполезно? void f() { static constexpr int x [] = { // a few thousand elements }; // do something with the …
193 c++  static  c++11  constexpr 

9
Какие идиомы C ++ устарели в C ++ 11?
С новым стандартом появляются новые способы ведения дел, и многие из них более хороши, чем старые, но старый способ все еще в порядке. Также ясно, что новый стандарт официально не очень устарел по причинам обратной совместимости. Итак, вопрос, который остается: Какие старые способы кодирования определенно уступают стилям C ++ 11, …
192 c++  c++11  c++-faq 

2
Какие функции Boost перекрываются с C ++ 11?
Я положил свои навыки C ++ на полку несколько лет назад, и теперь, когда они мне снова нужны, ситуация изменилась. Сейчас у нас есть C ++ 11, и я понимаю, что он перекрывает многие функции Boost. Есть ли какая-то сводка, где лежат эти перекрытия, какие библиотеки Boost станут унаследованными, рекомендации, …
192 c++  boost  c++11 

7
Почему std :: list :: reverse имеет сложность O (n)?
Почему обратная функция для std::listкласса в стандартной библиотеке C ++ имеет линейное время выполнения? Я думаю, что для двусвязных списков обратная функция должна была быть O (1). Изменение двусвязного списка должно включать переключение указателей головы и хвоста.
192 c++  c++11  stl  linked-list 

5
Какой смысл в noreturn?
[dcl.attr.noreturn] предоставляет следующий пример: [[ noreturn ]] void f() { throw "error"; // OK } но я не понимаю в чем смысл [[noreturn]], потому что возвращаемый тип функции уже есть void. Итак, в чем смысл этого noreturnатрибута? Как это должно быть использовано?


16
Как мне вызвать :: std :: make_shared в классе только с защищенными или закрытыми конструкторами?
У меня есть этот код, который не работает, но я думаю, что цель ясна: testmakeshared.cpp #include <memory> class A { public: static ::std::shared_ptr<A> create() { return ::std::make_shared<A>(); } protected: A() {} A(const A &) = delete; const A &operator =(const A &) = delete; }; ::std::shared_ptr<A> foo() { return A::create(); …
187 c++  c++11  shared-ptr 

6
Неопределенная ссылка на статический constexpr char []
Я хочу иметь static const charмассив в моем классе. GCC пожаловался и сказал мне, что я должен использовать constexpr, хотя теперь он говорит мне, что это неопределенная ссылка. Если я сделаю массив не членом, он будет скомпилирован. Что происходит? // .hpp struct foo { void bar(); static constexpr char baz[] …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.