Результаты поиска по запросу "c++11"

12 ответов

тогда как в неконстантно-корректных языках вы можете случайно изменить что-то задокументированное как инвариантное.

ы известные недостаткиconst в C ++ и C ++ 0x?

3 ответа

Извините, нет, это не ясно из текста. Вы сделали несколько интересных утверждений, но еще не подкрепили их какими-либо доказательствами.

оложим, у меня есть три скомпилированных объекта, все произведенныетот же компилятор / версия: A был скомпилирован со стандартом C ++ 11B был скомпилирован со стандартом C ++ 14C был скомпилирован со стандартом C ++ 17Для простоты предположим, ...

2 ответа

std :: shared_ptr Исключительная безопасность

Я только что понял, чтениеэта страница [http://www.cplusplus.com/reference/memory/shared_ptr/shared_ptr/]что конструктор std :: shared_ptr с одним аргументом указателя не исключение. Следовательно, следующий код содержит возможную утечку ...

ТОП публикаций

4 ответа

Возникли проблемы при передаче нескольких списков инициализатора в шаблон функции

Я не понимаю сообщение об ошибке при попытке передать переменное число списков инициализатора: template<typename... Values> void foo(Values...) { } int main() { foo(1, 2, 3, "hello", 'a'); // OK foo({1}, {2, 3}); // ERROR }Сообщение об ошибке ...

2 ответа

 байт неинициализированной памяти при вызове

я заменю всеoperator new подписи, которые я могу, по крайней мере в тестируемых реализациях, я вижу, что стандартные контейнеры обращаются к моим замененным версиям для выделения памяти. Это гарантировано стандартом? То есть было бы незаконно ...

2 ответа

stackoverflow.com/questions/52499568/...

ользую команду: g++ --std=c++11 -fPIC -Iincludes parser.cpp lib/main-parser.o lib/lib.a Чтобы скомпилировать программу на C ++ в Debian 9. Но я получаю следующее сообщение об ошибке:/usr/bin/ld: lib/lib.a(csdocument.o): relocation ...

0 ответов

@CashCow: спасибо за ваш совет. Но как насчет библиотек std :: from VC ++? Они хуже, чем библиотеки повышения? Например, boost :: regex против std :: regex?

ла я думал, что они все одинаковые, но оказалось, что это неправильно. Так может кто-нибудь вкратце объяснить разницу между этими тремя? Например: std::bind (новейшая, следующая версия, C ++)std::tr1::bind (старый, расширение C ++ ...

1 ответ

 для создания оболочек RAII только для перемещения для объектов OpenGL.

я есть объект OpenGL в классе C ++. Поскольку я использую RAII, я хочу, чтобы деструктор удалил его. Так что мой класс выглядит примерно так: class BufferObject { private: GLuint buff_; public: BufferObject() { glGenBuffers(1, &buff_); } ...

4 ответа

 - теперь любой вариационный пакет может быть сопоставлен с

периментировал с вариабельными шаблонами C ++ 0x, когда наткнулся на эту проблему: template < typename ...Args > struct identities { typedef Args type; //compile error: "parameter packs not expanded with '...' }; //The following code just shows ...

5 ответов

Вы не можете объединить два или более строковых литералов, ожидающих получить один строковый литерал (если вы не хотите использовать макросы). Но в зависимости от поставленной задачи вы можете вернуть функцию-шаблон, например, std :: string, которая представляет собой конкатенацию строковых литералов. Последнее тривиально.

аюсь определить некоторый шаблон variadic как это: typedef const char CCTYPE[]; template<CCTYPE X, CCTYPE... P> struct StringConcat { ... };чтобы я мог написать что-то вроде: char foo[] = "foo"; char bar[] = "bar"; std::cout << ...