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

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


3
неопределенная ссылка на 'std :: cout'
Это будет пример: #include <iostream> using namespace std; int main() { cout << "Hola, moondo.\n"; } Выдает ошибку: gcc -c main.cpp gcc -o edit main.o main.o: In function `main': main.cpp:(.text+0xa): undefined reference to `std::cout' main.cpp:(.text+0xf): undefined reference to `std::basic_ostream<char,std::char_traits<char> >& std::operator<< <std::char_traits<char>>(std::basic_ostream<char, std::char_traits<char> >&, char const*)' main.o: In function `__static_initialization_and_destruction_0(int,int)': …
198 c++  c++11  gcc  cout 

8
оператор возврата против выхода () в main ()
Должен ли я использовать exit()или просто returnзаявления в main()? Лично я одобряю returnутверждения, потому что я чувствую, что это похоже на чтение любой другой функции, и управление потоком, когда я читаю код, является плавным (по моему мнению). И даже если я хочу реорганизовать main()функцию, мне returnкажется, что это лучший выбор, …
197 c++  c  coding-style  return  exit 

7
Зачем использовать функции, не являющиеся членами начала и конца, в C ++ 11?
Каждый стандартный контейнер имеет beginи endспособ возвращения итераторов для этого контейнера. Тем не менее, C ++ 11, по- видимому , введенные свободные функции называются std::beginи std::endкоторые называют beginи endчлены функции. Итак, вместо того, чтобы писать auto i = v.begin(); auto e = v.end(); ты бы написал auto i = std::begin(v); …

4
Стандарт C ++ предписывает низкую производительность для iostreams, или я просто имею дело с плохой реализацией?
Каждый раз, когда я упоминаю о низкой производительности iostreams стандартной библиотеки C ++, меня встречает волна недоверия. Тем не менее, у меня есть результаты профилировщика, показывающие большое количество времени, проведенного в коде библиотеки iostream (полная оптимизация компилятора), и переключение с iostreams на специфичные для ОС API-интерфейсы ввода-вывода и настраиваемое управление …

7
Предварительное объявление вложенных типов / классов в C ++
Я недавно застрял в такой ситуации: class A { public: typedef struct/class {...} B; ... C::D *someField; } class C { public: typedef struct/class {...} D; ... A::B *someField; } Обычно вы можете объявить имя класса: class A; Но вы не можете форвард объявить вложенный тип, следующее вызывает ошибку компиляции. …


30
Как я могу преобразовать между значениями с прямым порядком байтов и значениями с прямым порядком байтов в C ++?
Как я могу преобразовать между значениями с прямым порядком байтов и значениями с прямым порядком байтов в C ++? РЕДАКТИРОВАТЬ: Для ясности, я должен переводить двоичные данные (значения с плавающей запятой двойной точности и 32-разрядные и 64-разрядные целые числа) из одной архитектуры ЦП в другую. Это не связано с сетью, …
196 c++  endianness 

9
Ключевое слово static и его различные применения в C ++
Ключевое слово staticимеет несколько значений в C ++, которое мне кажется очень запутанным, и я никогда не могу думать о том, как оно на самом деле должно работать. Из того, что я понимаю, есть staticдлительность хранения, что означает, что она длится в течение всей жизни программы в случае глобального, но …
196 c++  static 

8
Удалите безопасные предупреждения (_CRT_SECURE_NO_WARNINGS) из проектов по умолчанию в Visual Studio
Есть ли способ установить по умолчанию для всех проектов удаление предупреждений прекомпилятора о безопасности, которые появляются при использовании таких функций, как scanf (). Я обнаружил, что вы можете сделать это, добавив строку в опцию проекта или #define _CRT_SECURE_NO_WARNINGSв начале кода. Я постоянно создаю новые проекты для решения программных конкурсов, и …

17
Полезно ли размещать определения C ++ в заголовочных файлах?
Мой личный стиль в C ++ всегда заключался в том, чтобы помещать объявления классов во включаемый файл, а определения - в файл .cpp, очень похоже на то, как это предусмотрено в ответе Локи на файлы заголовков C ++, разделение кода . По общему признанию, одна из причин, по которой мне …

2
Что такое &&& операция в C
#include <stdio.h> volatile int i; int main() { int c; for (i = 0; i < 3; i++) { c = i &&& i; printf("%d\n", c); } return 0; } Выход вышеуказанной программы составлен с использованием gccв 0 1 1 С опцией -Wallили выдает предупреждение:-Waddressgcc warning: the address of ‘i’ …

6
Почему std :: map реализован как красно-черное дерево?
Почему std::mapреализовано как красно-черное дерево ? Существует несколько сбалансированных бинарных поисковых деревьев (BST). Каковы были дизайнерские компромиссы при выборе красно-черного дерева?


7
Как включить (буквально) ВСЕ предупреждения GCC?
Я хотел бы включить - буквально - ВСЕ предупреждения, которые имеет GCC. (Вы думаете, это будет легко ...) Вы могли бы подумать, что -Wallможно сделать, но нет! Все еще нужно -Wextra. Вы могли бы подумать, что -Wextraможно сделать, но нет! Не все перечисленные здесь предупреждения (например, -Wshadow) включены этим. И …

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