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

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

8
Какие различия, если таковые имеются, между C ++ 03 и C ++ 11 можно обнаружить во время выполнения?
Можно написать функцию, которая при компиляции с помощью компилятора C вернет 0, а при компиляции с помощью компилятора C ++ - 1 (тривиальное решение с помощью #ifdef __cplusplusне интересно). Например: int isCPP() { return sizeof(char) == sizeof 'c'; } Конечно, это будет работать, только если sizeof (char)не то же самое, …

2
Программа компилируется по-разному в трех основных компиляторах C ++. Какой из них правильный?
В качестве интересного продолжения (хотя и не имеющего большого практического значения) моего предыдущего вопроса: почему C ++ позволяет нам заключать имя переменной в круглые скобки при объявлении переменной? Я обнаружил, что объединение объявления в круглых скобках с введенной функцией имени класса может привести к неожиданным результатам в отношении поведения компилятора. …

12
const char * конкатенация
Мне нужно объединить два константных символа, например: const char *one = "Hello "; const char *two = "World"; Как я могу это сделать? Мне переданы эти char*s из сторонней библиотеки с интерфейсом C, поэтому я не могу просто использовать std::stringвместо них.

12
Где C не является подмножеством C ++? [закрыто]
Закрыто . Этот вопрос должен быть более конкретным . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он фокусировался только на одной проблеме, отредактировав этот пост . Закрыт 6 лет назад . Уточните этот вопрос Я читал во многих книгах, что C - это …
116 c++  c 


2
Хороший пример для boost :: algorithm :: join
Недавно я хотел использовать boost :: algorithm :: join, но я не смог найти никаких примеров использования, и я не хотел тратить много времени на изучение библиотеки Boost Range только для того, чтобы использовать эту единственную функцию. Может ли кто-нибудь предоставить хороший пример использования соединения в контейнере строк? Спасибо.
116 c++  string  boost  join 

5
с использованием шаблона extern (C ++ 11)
Рисунок 1: шаблоны функций TemplHeader.h template<typename T> void f(); TemplCpp.cpp template<typename T> void f(){ //... } //explicit instantation template void f<T>(); main.cpp #include "TemplHeader.h" extern template void f<T>(); //is this correct? int main() { f<char>(); return 0; } Это правильный способ использования extern template, или я использую это ключевое слово …
116 c++  templates  c++11  extern 

5
Ошибка сегментации при больших размерах массива
Следующий код дает мне ошибку сегментации при запуске на машине 2 ГБ, но работает на машине 4 ГБ. int main() { int c[1000000]; cout << "done\n"; return 0; } Размер массива всего 4 Мб. Есть ли ограничение на размер массива, который можно использовать в c ++?

2
Могу ли я скомпилировать все файлы .cpp в src / в .o в obj /, а затем связать их с двоичным файлом в ./?
Каталог моего проекта выглядит так: /project Makefile main /src main.cpp foo.cpp foo.h bar.cpp bar.h /obj main.o foo.o bar.o Я бы хотел, чтобы мой make-файл скомпилировал все .cppфайлы в /srcпапке в .oфайлы в /objпапке, а затем связал все .oфайлы в /objвыходной двоичный файл в папке верхнего уровня /project. У меня почти …


11
Почему нет int pow (int base, int exponent) в стандартных библиотеках C ++?
Я чувствую, что просто не могу его найти. Есть ли причина, по которой powфункция C ++ не реализует функцию "power" ни для чего, кроме floats и doubles? Я знаю, что реализация тривиальна, я просто чувствую, что делаю работу, которая должна быть в стандартной библиотеке. Надежную степенную функцию (т. Е. Обрабатывает …

9
'const int' против 'int const' как параметры функции в C ++ и C
Рассматривать: int testfunc1 (const int a) { return a; } int testfunc2 (int const a) { return a; } Эти две функции одинаковы во всех аспектах или есть разница? Меня интересует ответ для языка C, но если есть что-то интересное в языке C ++, я бы тоже хотел знать.
116 c++  c  const 

5
Что такое файл .h.gch?
Недавно у меня был проект класса, в котором мне нужно было написать программу на G ++. Я использовал make-файл, и по какой-то причине он иногда оставлял после себя файл .h.gch. Иногда это не влияло на компиляцию, но время от времени это приводило к тому, что компилятор выдавал ошибку из-за проблемы, …
116 c++  g++ 

4
Как избежать оператора if внутри цикла for?
У меня есть класс Writerс такой функцией writeVector: void Drawer::writeVector(vector<T> vec, bool index=true) { for (unsigned int i = 0; i < vec.size(); i++) { if (index) { cout << i << "\t"; } cout << vec[i] << "\n"; } } Я стараюсь не дублировать код, но при этом беспокоюсь …

25
Наиболее часто используемые части Boost [закрыто]
В его нынешнем виде этот вопрос не подходит для нашего формата вопросов и ответов. Мы ожидаем, что ответы будут подтверждены фактами, ссылками или опытом, но этот вопрос, скорее всего, повлечет за собой дебаты, аргументы, опросы или расширенное обсуждение. Если вы считаете, что этот вопрос можно улучшить и, возможно, снова открыть, …
116 c++  boost 

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