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

169
функция обмена друзей

В прекрасном ответе на идиому copy-and-swap- a есть фрагмент кода, который мне нужно немного помочь: class dumb_array { public: // ... friend void swap(dumb_array& first, dumb_array& second) // nothrow { using std::swap; swap(first.mSize, second.mSize); swap(first.mArray, second.mArray); }...

169
Чем «= default» отличается от «{}» для конструктора и деструктора по умолчанию?

Я первоначально разместил это как вопрос только о деструкторах, но теперь я добавляю рассмотрение конструктора по умолчанию. Вот оригинальный вопрос: Если я хочу дать моему классу деструктор, который является виртуальным, но в остальном такой же, как и тот, который генерирует компилятор, я могу...

169
Быстрый метод округления двойного к 32-битному int объяснил

Читая исходный код Lua , я заметил, что Lua использует macroокругление doubleдо 32-разрядного числа int. Я извлек macro, и это выглядит так: union i_cast {double d; int i[2]}; #define double2int(i, d, t) \ {volatile union i_cast u; u.d = (d) + 6755399441055744.0; \ (i) = (t)u.i[ENDIANLOC];} Здесь...

169
Как создать и использовать API Google TensorFlow C ++

Я действительно хочу начать использовать новую библиотеку Google Tensorflow на C ++. Веб-сайт и документы просто неясны с точки зрения того, как создать C ++ API проекта, и я не знаю, с чего начать. Может ли кто-то с большим опытом помочь найти и поделиться руководством по использованию C ++ API...

168
Преимущество переключения оператора if-else

Как лучше всего использовать switchоператор против использования ifоператора для 30unsigned перечислений, где около 10 имеют ожидаемое действие (в настоящее время это то же самое действие). Производительность и пространство необходимо учитывать, но это не критично. Я абстрагировал фрагмент, так что...

168
Преимущества цикла std :: for_each over for

Существует ли какое - либо преимущество std::for_eachнад forциклом? Мне std::for_eachтолько кажется, что мешает удобочитаемости кода. Почему тогда некоторые стандарты кодирования рекомендуют его...

168
C ++: округление до ближайшего кратного числа

Хорошо - я почти смущен, когда публикую это здесь (и я буду удалять, если кто-то проголосует за закрытие), поскольку это кажется основным вопросом. Это правильный способ округлить до кратного числа в C ++? Я знаю, что есть другие вопросы, связанные с этим, но мне особенно интересно узнать, как...

168
Что auto && говорит нам?

Если вы читаете код, как auto&& var = foo(); где fooлюбая функция, возвращаемая по значению типа T. Тогда varlvalue типа rvalue ссылается на T. Но для чего это нужно var? Значит ли это, что нам разрешено воровать ресурсы var? Существуют ли разумные ситуации, когда вы должны использовать,...

167
Динамическая общая библиотека C ++ в Linux

Это продолжение компиляции Dynamic Shared Library с g ++ . Я пытаюсь создать общую библиотеку классов на C ++ в Linux. Я могу заставить библиотеку компилироваться, и я могу вызывать некоторые (не классовые) функции, используя учебники, которые я нашел здесь и здесь . Мои проблемы начинаются, когда...

167
Как «вернуть объект» в C ++?

Я знаю, что название звучит знакомо, так как есть много похожих вопросов, но я спрашиваю о другом аспекте проблемы (я знаю разницу между тем, чтобы что-то складывалось в стек и помещалось в кучу). В Java я всегда могу вернуть ссылки на "локальные" объекты public Thing calculateThing() { Thing thing...

167
Неявные правила преобразования типов в операторах C ++

Я хочу быть лучше, зная, когда мне следует сыграть. Каковы неявные правила преобразования типов в C ++ при сложении, умножении и т. Д. Например, int + float = ? int * float = ? float * int = ? int / float = ? float / int = ? int / int = ? int ^ float = ? и так далее ... Будет ли выражение всегда...

167
Как включить C ++ 11 в Qt Creator?

Название довольно информативно. Я скачал Qt Creator 2.7.0 и пытаюсь скомпилировать базовый код C ++ 11: int my_array[5] = {1, 2, 3, 4, 5}; for(int &x : my_array) { x *= 2; } Я получаю следующую ошибку: range based for loops are not allowed in c++ 98 mode Тем не менее, согласно этой статье, эта...

167
Если я скопирую float в другую переменную, будут ли они равны?

Я знаю что используя == для проверки равенства переменных с плавающей точкой не очень хороший способ. Но я просто хочу знать это со следующими утверждениями: float x = ... float y = x; assert(y == x) Так как yэто скопировано x, будет ли утверждение...

166
Как эффективно очистить очередь std :: queue?

Я использую std :: queue для реализации класса JobQueue. (В основном этот класс обрабатывает каждую работу в порядке FIFO). В одном сценарии я хочу очистить очередь за один раз (удалить все задания из очереди). Я не вижу четкого метода, доступного в классе std :: queue. Как эффективно реализовать...

166
точное указание «условный переход или перемещение зависит от неинициализированных значений» сообщение valgrind

Так что я получил какое-то загадочное сообщение с неинициализированными значениями от valgrind, и было довольно загадочно, откуда взялась плохая ценность. Похоже, что valgrind показывает место, где в конечном итоге используется унифицированное значение, а не источник неинициализированного значения....

166
Лямбда-захват как постоянная ссылка?

Можно ли захватить константной ссылкой в ​​лямбда-выражении? Я хочу, чтобы назначение, отмеченное ниже, не сработало, например: #include <cstdlib> #include <vector> #include <string> #include <algorithm> using namespace std; int main() { string strings[] = { "hello", "world"...

166
Программа не может запуститься, потому что отсутствует libgcc_s_dw2-1.dll

Я создал простую программу на C ++ с Code :: Blocks. Если я запускаю его из Code :: Blocks, он работает правильно; но если я запускаю его двойным щелчком по исполняемому файлу, появляется окно с таким сообщением: Программа не может запуститься, потому что libgcc_s_dw2-1.dll отсутствует на вашем...