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

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


8
Что означает int argc, char * argv []?
Во многих C ++ IDE и компиляторах, когда он генерирует основную функцию для вас, это выглядит так: int main(int argc, char *argv[]) Когда я кодирую C ++ без IDE, просто с помощью компилятора командной строки, я набираю: int main() без каких-либо параметров. Что это значит и важно ли это для …

11
Безымянное / анонимное пространство имен против статических функций
Особенностью C ++ является возможность создавать безымянные (анонимные) пространства имен, например: namespace { int cannotAccessOutsideThisFile() { ... } } // namespace Можно подумать, что такая функция будет бесполезной - поскольку вы не можете указать имя пространства имен, невозможно получить к нему доступ извне. Но эти безымянные пространства имен являются доступными …
508 c++  namespaces 

5
Разница ключевых слов "typename" и "class" в шаблонах?
Для шаблонов я видел оба объявления: template < typename T > template < class T > Какая разница? И что именно означают эти ключевые слова в следующем примере (взятом из немецкой статьи в Википедии о шаблонах)? template < template < typename, typename > class Container, typename Type > class Example …
504 c++  templates  keyword 

23
Что быстрее: выделение стека или выделение кучи
Этот вопрос может показаться довольно элементарным, но это спор, который у меня возник с другим разработчиком, с которым я работаю. Я позаботился о том, чтобы распределять вещи по возможности, а не распределять их по куче. Он говорил со мной и смотрел через мое плечо и заметил, что в этом нет …
503 c++  performance  memory  stack  heap 

5
Допускает ли стандарт C ++ неинициализированный bool для сбоя программы?
Я знаю, что «неопределенное поведение» в C ++ может позволить компилятору делать все, что он захочет. Однако у меня произошел сбой, который удивил меня, так как я предположил, что код достаточно безопасен. В этом случае настоящая проблема возникла только на конкретной платформе, использующей определенный компилятор, и только если была включена …

27
Шаблонная проверка на существование функции-члена класса?
Можно ли написать шаблон, который меняет поведение в зависимости от того, определена ли определенная функция-член в классе? Вот простой пример того, что я хотел бы написать: template<class T> std::string optionalToString(T* obj) { if (FUNCTION_EXISTS(T->toString)) return obj->toString(); else return "toString not defined"; } Таким образом, если class Tуже toString()определен, то он …



8
без знака int против size_t
Я заметил, что современный код на C и C ++, кажется, использует size_tвместо int/ unsigned intпочти везде - от параметров для строковых функций C до STL. Мне любопытно узнать причину этого и преимущества, которые оно приносит.
493 c++  c  size-t 


11
Как мне перечислить символы в .so файле
Как мне перечислить символы, экспортируемые из файла .so? Если возможно, я также хотел бы знать их источник (например, если они извлекаются из статической библиотеки). Я использую gcc 4.0.2, если это имеет значение.
486 c++  c  gcc  symbols  name-mangling 

16
Как я могу преобразовать std :: string в int?
Просто быстрый вопрос. Я немного осмотрел интернет и нашел несколько решений, но ни одно из них еще не сработало. Глядя на преобразование строки в int, я не имею в виду ASCII-коды. Для быстрого перехода мы передаем уравнение в виде строки. Мы должны разбить его, правильно отформатировать и решить линейные уравнения. …
485 c++  string  int 

9
Зачем нужны заголовочные файлы и файлы .cpp? [закрыто]
В настоящее время этот вопрос не очень подходит для нашего формата вопросов и ответов. Мы ожидаем, что ответы будут подтверждены фактами, ссылками или опытом, но этот вопрос, скорее всего, вызовет дебаты, споры, опрос или расширенное обсуждение. Если вы считаете, что этот вопрос можно улучшить и, возможно, вновь открыть, обратитесь за …
484 c++  header-files 


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