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

445
Статическая константная строка (член класса)

Я хотел бы иметь частную статическую константу для класса (в данном случае фабрика форм). Я хотел бы иметь что-то в этом роде. class A { private: static const string RECTANGLE = "rectangle"; } К сожалению, я получаю всевозможные ошибки от компилятора C ++ (g ++), такие как: ISO C ++ запрещает...

445
Почему GCC генерирует код на 15-20% быстрее, если я оптимизирую размер вместо скорости?

Я впервые заметил в 2009 году, что GCC (по крайней мере, в моих проектах и ​​на моих машинах) имеет тенденцию генерировать заметно более быстрый код, если я оптимизирую для size ( -Os) вместо скорости ( -O2или -O3), и с тех пор я удивляюсь, почему. Мне удалось создать (довольно глупый) код, который...

444
usr / bin / ld: невозможно найти -l <nameOfTheLibrary>

Я пытаюсь скомпилировать мою программу, и она возвращает эту ошибку: usr/bin/ld: cannot find -l<nameOfTheLibrary> в моем make-файле я использую команду g++и ссылку на мою библиотеку, которая является символической ссылкой на мою библиотеку, расположенную в другом каталоге. Есть ли возможность...

441
ошибка: запрос на член '..' в '..', который не является типом класса

У меня есть класс с двумя конструкторами, один из которых не имеет аргументов, а другой - один аргумент. Создание объектов с использованием конструктора, который принимает один аргумент, работает как ожидалось. Однако, если я создаю объекты, используя конструктор, который не принимает аргументов, я...

441
Каковы различия между структурой и классом в C ++?

Этот вопрос уже задавался в контексте C # /. Net . Теперь я хотел бы изучить различия между структурой и классом в C ++. Пожалуйста, обсудите технические различия, а также причины выбора того или иного в дизайне ОО. Начну с очевидной разницы: Если вы не укажете public:или private:, члены структуры...

441
Что такое собственный графический интерфейс API для Linux?

Надеюсь, это не глупый вопрос, но я всегда удивляюсь этому. И Windows (API Win32), и OS X (Какао) имеют свои собственные API для обработки окон, событий и других вещей ОС. Я никогда не получал четкого ответа о том, каков эквивалент Linux. Я слышал, что некоторые люди говорят GTK +, но GTK +, будучи...

438
Каковы основные цели использования std :: forward и какие проблемы он решает?

При совершенной пересылке std::forwardиспользуется для преобразования именованных ссылок rvalue t1и t2в безымянные ссылки rvalue. Какова цель сделать это? Как это повлияет на вызываемую функцию, innerесли мы оставим t1& t2как значения? template <typename T1, typename T2> void...

437
Отладка против выпуска в CMake

В скомпилированном проекте GCC, Как мне запустить CMake для каждого типа цели (отладка / выпуск)? Как указать флаги отладки и выпуска C / C ++ с помощью CMake? Как мне выразить, что основной исполняемый файл будет скомпилирован с g++одной вложенной библиотекой gcc?...

437
GCC -FPIC опция

Я читал об опциях GCC для соглашений по генерации кода , но не мог понять, что делает «Генерировать независимый от позиции код (PIC)». Пожалуйста, приведите пример, чтобы объяснить мне, что это...

435
C ++ 11 значения и путаница в семантике перемещения (оператор return)

Я пытаюсь понять rvalue ссылки и переместить семантику C ++ 11. В чем разница между этими примерами, и какой из них не будет делать векторные копии? Первый пример std::vector<int> return_vector(void) { std::vector<int> tmp {1,2,3,4,5}; return tmp; } std::vector<int>...

420
В чем разница между float и double?

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

417
Как работает процесс компиляции / компоновки?

Как работает процесс компиляции и компоновки? (Примечание. Предполагается, что это будет вход в FAQ по C ++ в Stack Overflow . Если вы хотите критиковать идею предоставления FAQ в этой форме, то публикация в meta, с которой все это началось, будет подходящим местом для этого. Этот вопрос...

416
C ++ многострочный строковый литерал

Есть ли способ иметь многострочные обычные текстовые константные литералы в C ++, как в Perl? Может быть, какая-то хитрость при разборе #includeфайла? Я не могу думать об этом, но мальчик, это было бы хорошо. Я знаю, что это будет в C ++...

411
В чем смысл двойного двоеточия «::»?

Я нашел эту строку кода в классе, который я должен изменить: ::Configuration * tmpCo = m_configurationDB;//pointer to current db и я не знаю, что именно означает двойное двоеточие перед именем класса. Без этого я бы прочитал: объявление tmpCoв качестве указателя на объект класса Configuration... но...