C++11 – вопросы и ответы

90
голосов
3
ответа
Это из Bjarne Stroustrup Язык программирования С++, четвертое издание 3.3.2. Нам не нужна копия; мы просто хотели получить результат из функция: мы хотели переместить вектор, а не копировать его. К...
5 месяцев, 3 недели назад Vector
89
голосов
1
ответ
Я пытаюсь использовать unique_ptr с любым контейнером stl (на самом деле список предпочтительнее для меня), я вижу, что unique_ptr требует семантики перемещения. этот код, где сотрудник является ба...
5 месяцев, 3 недели назад amigo421
63
голоса
3
ответа
Существует ли более чистый ("меньше С++ 11") способ выбора функции шаблона в этом примере на основе нескольких типов. Я хочу только иметь 2 функции, я мог бы перегружать или вызывать реализацию с д...
5 месяцев, 3 недели назад Salgar
64
голоса
1
ответ
Cocos2d-x v.3.2 под VS2013 получает следующую ошибку при компиляции: ошибка LNK1104: невозможно открыть файл 'cocos2d-x-3.2\cocos2d-x-3.2\tests\cpp-tests\proj.win32\Debug.win32\libcocos2d.lib' Попы...
5 месяцев, 3 недели назад user4910881
64
голоса
1
ответ
Все, что я хочу сделать, это переместить указатель "put" из конца файла в точку "X" за конец файла. #include <iostream> #include <fstream> using namespace std; int main(){ ofstream ofil...
5 месяцев, 3 недели назад Vallabh Ramakanth
64
голоса
1
ответ
У меня есть таблица поиска в моей C++ программе, и теперь я должен инициализировать ее в начале программы, используя что-то вроде этого: static const map<string, int> m; m["a"] = 1; m["b"] = ...
5 месяцев, 3 недели назад dorafmon
172
голоса
5
ответов
Я хочу добиться чего-то вроде псевдокода ниже: string foo; // or vector<int> foo; auto itr = bar? foo.begin() : foo.rbegin(); auto end = bar? foo.end() : foo.rend(); for ( ; itr != end; ++itr...
5 месяцев, 3 недели назад Robin Hsu
100
голосов
2
ответа
Я использую стороннюю библиотеку, которая требует наличия указателей на статические функции, переданные в качестве аргументов обратного вызова. Сейчас я должен сделать что-то вроде этого: static in...
5 месяцев, 3 недели назад dom_beau
64
голоса
2
ответа
Моя конфигурация: Компилятор: gnu gcc 4.8.2 Я компилирую с С++ 11 платформа/ОС: Linux 64bit Ubuntu 14.04.1 LTS У меня есть этот метод: static inline std::u16string StringtoU16(const std::string &am...
5 месяцев, 3 недели назад mimosa
64
голоса
4
ответа
Я создаю общую библиотеку из класса из примера, который я получил здесь C++ Dynamic Shared Library в Linux . Я хотел бы вызвать другую общую библиотеку из созданной общей библиотеки, а затем исполь...
5 месяцев, 3 недели назад Unah Henry
109
голосов
2
ответа
int InsertByValue(int array[], int & array_size, int value) { int desired_index; int InsertByIndex; desired_index = BinarySearch(array[],array_size, value, index,0, array_size - 1); InsertByInd...
5 месяцев, 3 недели назад YianniK
63
голоса
3
ответа
Каков наилучший способ преобразования списка в вектор? Я думал о петле. Но может быть, есть лучший способ в С++ 11? #include <list> #include <string> #include <vector> using names...
5 месяцев, 3 недели назад Bill Moore
-5
голосов
1
ответ
В "13.7.3 async()" "Тур по C++" (первая печать) в качестве примера приводится следующее: double comp4(vector<double>& v) { if (v.size() < 10000) return accum(v.begin(), v.end(), 0.0); ...
5 месяцев, 3 недели назад Alex
118
голосов
1
ответ
Я писал код на С++ для создания векторной математики. Это важно только тонкая обертка вокруг экземпляра std::array . Я хотел перегрузить функцию non-member begin() , чтобы вернуть итератор в начало...
5 месяцев, 3 недели назад David Adrian
89
голосов
1
ответ
У меня есть список L (в общем смысле, а не std::list ) чисел, и у меня также есть i который является индексом наименьшего элемента в L Я хочу поменять местами два раздела, разделенные индексом i . ...
5 месяцев, 3 недели назад Paul Manta
100
голосов
2
ответа
Если вы используете NVI, может ли вызов функции devilerualize компилятора? Пример: #include <iostream> class widget { public: void foo() { bar(); } private: virtual void bar() = 0; }; class g...
5 месяцев, 3 недели назад Simple
78
голосов
4
ответа
Я заметил, что когда я инициализирую массив следующим образом: std::array<int,3> myarray; myarray[0] = 9; myarray[1] = 8; myarray[2] = 7; myarray[3] = 6; myarray[4] = 5; Я не получаю ошибку, ...
5 месяцев, 3 недели назад user000001
89
голосов
1
ответ
При добавлении пользовательского виртуального деструктора по умолчанию в класс, подобный этому. class Foo { public: Foo(); virtual ~Foo() = default; }; .. Он имеет побочные эффекты предотвращения а...
5 месяцев, 3 недели назад Mathias
64
голоса
1
ответ
Мне нужно скомпилировать статическую библиотеку в С++ 11 и LLVM. Этот lib использует ракурс Accelerated, который включает фреймворк veclib. Поскольку я использую С++ 11, у меня есть некоторые ошибк...
5 месяцев, 3 недели назад Ziggy
78
голосов
1
ответ
Я пытаюсь использовать функцию С++ 11 инициализатора члена класса для инициализации переменных класса. Переменные класса, которые у меня есть, - std :: string и std :: ifstream. class A{ std::strin...
5 месяцев, 3 недели назад solti
77
голосов
4
ответа
Я обновил свою Visual Studio с 2013 по 2017 год. Компиляция была прекрасной, но похоже, что вызов std :: async не открывал новый поток. (Я не могу увидеть новую в окне потока во время отладки. Такж...
5 месяцев, 3 недели назад TheRealLife
-5
голосов
3
ответа
Мы использовали для объявления указателя void, как это, без использования auto . void* ptr = nullptr; Как мы должны делать то же самое с помощью auto ? Какой из них мы должны использовать? Или, мож...
5 месяцев, 3 недели назад user4910881
89
голосов
1
ответ
Я хочу, чтобы избежать вызова функции, когда условие является ложным, когда это известно во время компиляции. Теперь я использую что-то вроде этого: template<bool Enabled> void fun(params) { ...
5 месяцев, 3 недели назад Felics
77
голосов
1
ответ
Я пытаюсь создать несколько потоков для обработки задач щелчка. Теперь Visual Studio 2015 не отображает синтаксическую ошибку, однако при компиляции я получаю ошибку C3867 'action::Chrome::click': ...
5 месяцев, 3 недели назад Kilo King
-4
голоса
1
ответ
Извините, этот вопрос, возможно, дубликат, но я должен спросить, так как я не могу заставить его работать. Я динамически делаю QPushButtons с циклом for, как это. for (int var = 0; var < size; +...
5 месяцев, 3 недели назад Dušan Atanacković
89
голосов
2
ответа
Мне было интересно узнать о новой функциональности лямбды С++ 11, замечательном дополнении к моему скромному мнению, но я действительно не получаю всю переменную, захватившую часть. Короче говоря, ...
5 месяцев, 3 недели назад KillianDS
110
голосов
2
ответа
Я использую функцию из внешней библиотеки с таким интерфейсом: void f(int timeout); , Где timeout в миллисекундах. Чтобы сделать мой код более читаемым, я хочу использовать chrono в такой форме: f(...
5 месяцев, 3 недели назад user1244932
119
голосов
2
ответа
Я работаю над проектом, в котором я использую новый стандарт С++ 11. Из-за этого немногие включенные заголовки из библиотеки теперь генерируют предупреждение -Wliteral-suffix , которое я бы подавля...
5 месяцев, 3 недели назад pointhi
63
голоса
1
ответ
Каков подходящий шаблон для использования перечислений в качестве флагов в современных C++? Вопрос связан с тем, что я прочитал техническую спецификацию "Предложение о добавлении 2D-рендеринга и от...
5 месяцев, 3 недели назад Escualo
155
голосов
6
ответов
Я хочу встроить выражение лямбда, так как оно очень короткое по причине производительности. Возможно ли это?
5 месяцев, 3 недели назад Thomson
63
голоса
1
ответ
Я хотел бы расширить int32_t и int64_t с помощью конструкторов по умолчанию. Я полагаю, что я должен определить новые типы, используя оператор <> и operator2 <> из boost opertators.hpp....
5 месяцев, 3 недели назад zzz777
118
голосов
3
ответа
#include <iostream> using namespace std; int main() { int arr[10] = {}; for(auto element : arr) { cout<<element<<" "; } cout<<endl; } если я пишу int arr[10] = {} , элементы...
5 месяцев, 3 недели назад BlackMamba
126
голосов
1
ответ
Поэтому у меня есть следующий класс: #define SINGLETON Singleton::GetInstance() //#define MY_MACRO(X) Singleton::RunS(X) //#define MY_MACRO(X) SINGLETON->Run(X) class Singleton; using Singleton_...
5 месяцев, 3 недели назад idanshmu
118
голосов
2
ответа
В моем поиске способа хранения объектов CRTP в контейнере я обнаружил следующий вопрос: Полиморфная коллекция шаблонов любопытных повторений (CRTP) в C++? Я попробовал помеченное решение
5 месяцев, 3 недели назад Mohamed El
77
голосов
2
ответа
Я развиваю небольшую инди-игру в свободное время и сталкиваюсь с необъяснимой проблемой. Некоторые сборки игры будут случайным образом запускать несколько сотен кадров в секунду медленнее, чем друг...
5 месяцев, 3 недели назад Puppy
154
голоса
2
ответа
Если я поставил два вызова бок о бок, чтобы определить наименьшую измеряемую продолжительность времени: // g++ -std=c++11 -O3 -Wall test.cpp #include <chrono> typedef std::chrono::high_resolu...
5 месяцев, 3 недели назад Stéphane
89
голосов
3
ответа
Почему обе эти циклы занимают одинаковое количество времени, не должно ли оператор if сделать первый одиночный цикл намного медленнее? // Example program #include <iostream> #include <stri...
5 месяцев, 3 недели назад PYA
100
голосов
1
ответ
У меня есть объект класса, который в некоторых случаях требует только запуска потока. В деструкторе мне было бы удобно знать всякий раз, когда есть/была нить. Вопрос в том, как определить, был ли о...
5 месяцев, 3 недели назад Martin Schlott
221
голос
4
ответа
Характеристика в С++ инкапсулирует семейство операций, которые позволяют алгоритму или структуре данных работать с тем типом, с которым он создается. char_traits - пример группировки string - и тре...
5 месяцев, 3 недели назад towi
134
голоса
1
ответ
Я хочу поместить подвижный, но не скопируемый тип как значение в std::map . Вот простой код для проверки принципа. #include <map> struct Foo { Foo (); Foo (const Foo &) = delete; Foo &...
5 месяцев, 3 недели назад spraff
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема