Описание тега c++11
Используйте этот тег для кода, который должен компилироваться как 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 является объединением, по крайней мере, с одним вар…
18 май '18 в 06:56
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