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

C ++ - это язык программирования общего назначения. Первоначально он был разработан как расширение C и имеет аналогичный синтаксис, но теперь это совершенно другой язык. Используйте этот тег для вопросов о коде (который будет скомпилирован с помощью компилятора C ++). Используйте тег, зависящий от версии, для вопросов, связанных с конкретной редакцией стандарта [C ++ 11], [C ++ 14], [C ++ 17] или [C ++ 20] и т. Д.


12
Зачем нам нужен чистый виртуальный деструктор в C ++?
Я понимаю необходимость виртуального деструктора. Но зачем нам чистый виртуальный деструктор? В одной из статей C ++ автор упомянул, что мы используем чистый виртуальный деструктор, когда хотим сделать класс абстрактным. Но мы можем сделать класс абстрактным, сделав любую функцию-член чисто виртуальной. Так что мои вопросы Когда мы действительно сделаем деструктор …

20
в то время как (1) против для (;;) Есть ли разница в скорости?
Длинная версия ... Сотрудник заявил сегодня, увидев мое использование while (1)в сценарии Perl, который for (;;)работает быстрее. Я утверждал, что они должны быть такими же, надеясь, что переводчик оптимизирует любые различия. Я установил скрипт, который будет запускать 1 000 000 000 для итераций цикла и столько же циклов while и …

7
Экзотические архитектуры, о которых заботятся комитеты по стандартам
Я знаю, что стандарты C и C ++ оставляют многие аспекты языка, определенные реализацией, просто потому, что если существует архитектура с другими характеристиками, было бы очень трудно или невозможно написать для нее стандартный соответствующий компилятор. Я знаю, что 40 лет назад у любого компьютера была своя уникальная спецификация. Однако я …
154 c++  c  architecture 

11
Прекращение преобразования C ++ из строковой константы в 'char *'
У меня есть класс с private char str[256]; и для этого у меня есть явный конструктор: explicit myClass(const char *func) { strcpy(str,func); } Я называю это так: myClass obj("example"); Когда я компилирую это, я получаю следующее предупреждение: устаревшее преобразование из строковой константы в 'char *' Почему это происходит?

8
std :: cin ввод с пробелами?
#include <string> std::string input; std::cin >> input; Пользователь хочет ввести «Hello World». Но cinне получается пробел между двумя словами. Как я могу понять cinвсе Hello World? Я действительно делаю это со структурами и cin.getline, похоже, не работает. Вот мой код: struct cd { std::string CDTitle[50]; std::string Artist[50]; int number_of_songs[50]; }; …
154 c++  string  space 

11
Преобразование int в std :: string
Каков самый короткий способ, желательно встроенный, преобразовать int в строку? Ответы с использованием stl и boost будут приветствоваться.
154 c++  string  int 



4
Является ли «long long» = «long long int» = «long int long» = «int long long»?
Я нашел оба long int longи int long longмогу скомпилировать для типа переменной. Есть ли разница между long int long, int long long, long longи long long int? Вообще, идентичен ли тип, если он имеет одинаковое количество long? 1 длинный: long l; int long il; long int li; 2 длинные: …
153 c++  syntax  long-integer 

4
Правильно ли определена операция «ложь <истина»?
Определяет ли спецификация C ++: существование оператора «меньше чем» для логических параметров, и если да, результат перестановок с 4 параметрами? Другими словами, определяются ли результаты следующих операций спецификацией? false &lt; false false &lt; true true &lt; false true &lt; true На моей установке (Centos 7, gcc 4.8.2) приведенный ниже код …

8
Оптимизация «время (1);» в C ++ 0x
Обновлено, смотрите ниже! Я слышал и читал, что C ++ 0x позволяет компилятору напечатать «Hello» для следующего фрагмента #include &lt;iostream&gt; int main() { while(1) ; std::cout &lt;&lt; "Hello" &lt;&lt; std::endl; } По-видимому, это как-то связано с потоками и возможностями оптимизации. Мне кажется, что это может удивить многих людей, хотя. У …

6
Почему C ++ не может быть проанализирован с помощью анализатора LR (1)?
Я читал о парсерах и генераторах парсеров и нашел это утверждение на странице анализа LR в Википедии: Многие языки программирования могут быть проанализированы с использованием некоторого варианта синтаксического анализатора LR. Одним заметным исключением является C ++. Почему это так? Какое специфическое свойство C ++ делает невозможным анализ парсеров LR? Используя …

7
Разумно ли заменить boost :: thread и boost :: mutex на c ++ 11 эквивалентов?
Мотивация: причина, по которой я рассматриваю это, заключается в том, что мой гениальный руководитель проекта считает, что повышение - это еще одна зависимость, и это ужасно, потому что «вы зависите от этого» (я попытался объяснить качество повышения, а затем через некоторое время сдался :( Меньшая причина, по которой я хотел …


Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.