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

Делает ли указание constexpr на конструктор автоматически превращает все созданные из него объекты в constexpr?

Вот мой код: class test{ public: constexpr test(){ } constexpr int operator+(const test& rhs){ return 1; } }; int main(){ test t; //constexpr word isn't necessary constexpr int b = t+test(); // works at compile time! int w = 10; // ERROR constex…
13 июл '15 в 04:21
3 ответа

Неожиданная проблема компиляции с g++ -std= C++0x

У меня есть некоторые проблемы с компиляцией, когда элементы типа T возвращаются в вектор при компиляции с помощью g++ -std= C++0x. Это минимальный пример: #include <vector> using namespace std; class A { public: A() { } A& operator=(A &am…
22 май '11 в 19:46
2 ответа

Мне нужно перебрать структуру

Я пытаюсь пройтись по структурам, а не по полям, чтобы создать торговый автомат, подобный программе. Я не понимаю, почему это не работает: //create a structure to hold data on the items in the vending machine struct snack{ string description; //this…
20 мар '16 в 09:11
3 ответа

C++ sqrt гарантированная точность, верхняя / нижняя граница

Я должен проверить неравенство, содержащее квадратные корни. Чтобы избежать неверных результатов из-за неточностей с плавающей точкой и округления, я использую std::nextafter() чтобы получить верхнюю / нижнюю границу: #include <cfloat> // DBL_…
25 авг '15 в 15:25
0 ответов

3d std::array в C++

Я рано в C++. Я хочу определить 3d std::array в с ++. когда я определяю массив ниже: std::array<std::array<std::array<double,3>,4>, 4> DownSide = { {{0,0.51,0.35},{0,0.51,0.35},{0,0.51,0.35},{0,0.51,0.35}}, {{0,0.51,0.35},{0,0.51,0…
26 апр '17 в 08:14
2 ответа

Создание команды терминала программно?

Я надеюсь, что этот вопрос в порядке. По сути, я хочу создать небольшую программу, которая с помощью терминала Ubuntu могла бы просто вызвать ее и выполнить команду из любого каталога. Для простого примера, что-то вроде print Hello World будет прост…
13 июл '15 в 00:10
1 ответ

clang 3.5 constexpr несоответствие - ошибки при использовании double, но не int

После ответа с использованием математических констант boost в constexpr и предложения OP использовать шаблонную функцию boost для constexpr вместо переменной без шаблонов для подавления ошибки лягушки, я решил попытаться выяснить, при каких условиях…
10 фев '14 в 23:36
1 ответ

C++ Конструкторы по умолчанию в объединении с вариантом члена с нетривиальным конструктором по умолчанию

Я недавно прочитал описание конструкторов по умолчанию для объединений: Конструктор по умолчанию Существует следующее правило: Blockquote Удален неявно объявленный конструктор по умолчанию: [...] T является объединением, по крайней мере, с одним вар…
3 ответа

Инициализировать массив в C++

#include <iostream> using namespace std; int main() { int arr[10] = {}; for(auto element : arr) { cout<<element<<" "; } cout<<endl; } если я напишу int arr[10] = {}, элементы в arr являются все 0, но если бы я просто написал …
10 мар '16 в 06:22
0 ответов

Можно ли проанализировать C++11 с опцией Bison gLR и взломать сканер?

Меня интересует эволюция языков программирования и возможные направления развития в будущем. C++ представляет особый интерес как широко используемый язык, который ложится тяжелым бременем на разработчиков компиляторов, чтобы предоставить пользовател…
13 сен '17 в 20:43
3 ответа

Почему этот boost::asio::tcp::socket можно использовать повторно?

Ниже приведен код из примера boost::asio. Почему это нормально, чтобы переместить socket_ член при построении chat_session если рекурсивный вызов в нижней части обработчика собирается передать это же tcp::socket в следующий раз, когда произойдет сог…
31 июл '18 в 16:13
2 ответа

Дважды проверил блокировку в C++11?

Вот пример проблемы с Java на http://www.ibm.com/developerworks/java/library/j-dcl/index.html public static Singleton getInstance() { if (instance == null) //#4 { synchronized(Singleton.class) { //#1 if (instance == null) //#2 instance = new Singlet…
07 май '13 в 06:22
2 ответа

Потоки с одинаковыми аргументами дают разные значения

У меня проблема, когда два потока с разными функциями и объектами с одинаковым аргументом приводят к разным значениям для этих объектов. Для уточнения, пожалуйста, соблюдайте следующий код: class Player(){ // Definition of Player here // with get- a…
22 авг '16 в 20:51
2 ответа

Какая логическая операция И делает с выводом потока?

Я только что видел код, и я не могу понять, как логично и ведет себя с "cout" здесь: int userInput = 9; // Suppose user input is 9. int remainder = 9 % 2; (remainder & 1 && std::cout<<"odd" )|| cout<<"even";
11 ноя '14 в 05:39
1 ответ

Должен std::vector honor alignof(value_type)?

Если я определю простой тип с определенным требованием выравнивания, не должен ли std::vector<t> указанного типа соблюдать выравнивание для каждого элемента? Рассмотрим следующий пример typedef std::array<double,3> alignas(32) avx_point;…
07 май '13 в 17:46
2 ответа

Затмение полиморфизм с использованием ошибки C++11 shared_ptr

Учитывая следующий пример кода: #include <iostream> #include <memory> using namespace std; struct A { public: A(int aa) : a(aa) {} int a; virtual ~A() {} }; struct B : A { public: B(int aa, int bb) : A(aa), b(bb) {} int b; }; void f(shar…
16 дек '12 в 20:42
2 ответа

Каков наилучший способ найти позицию последнего вхождения для определенного элемента?

Как то так, но наоборот: int pos = find(v.begin(), v.end(), item) - v.begin();
16 май '15 в 18:25
3 ответа

Можно ли инвертировать порядок уничтожения?

У меня есть базовый класс, который реализует много основных функций, и ему нужно некоторое "хранилище" (блок памяти), которое должно быть предоставлено классом, который его наследует (или пользователем). class Base { public: Base(void* storage, size…
19 окт '15 в 21:12
0 ответов

При компиляции моего C++ проекта под Centos я получаю сообщение об ошибке "not find -ltinyxml"

Когда я пытаюсь скомпилировать свой проект eclipse (C++) в CentOS, появляется сообщение об ошибке: "not find -ltinyxml" Я попытался изменить команду кросс-компилятора GCC с "g++ -std= C++11" на "g++ -std= C++0x" Если я сохраняю команду как "g++ -std…
24 фев '17 в 12:24
2 ответа

Проверка концепции не компилируется в gcc, потому что она "не имеет связи"

Я создал класс проверки концепции, основанный на этом вопросе, цель которого - убедиться, что у данного класса есть статическая функция-член, называемая baseUnitConversionFactor, Класс компилируется и прекрасно работает с msvc2013, но он не будет ко…
28 дек '15 в 21:45