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

116
Стоит ли изучать C перед изучением C ++? [закрыто]

В его нынешнем виде этот вопрос не подходит для нашего формата вопросов и ответов. Мы ожидаем, что ответы будут подтверждены фактами, ссылками или опытом, но этот вопрос, скорее всего, повлечет за собой дебаты, аргументы, опросы или расширенное обсуждение. Если вы считаете, что этот вопрос можно...

116
Каковы были бы ограничения C ++ по сравнению с языком C? [закрыто]

Закрыто . Этот вопрос основан на мнении . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы на него можно было ответить с помощью фактов и цитат, отредактировав этот пост . Закрыт 6 лет назад . Уточните этот вопрос Ниже приведены преимущества C ++. C ++...

116
Пример повышения shared_mutex (несколько чтений / одна запись)?

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

116
Где C не является подмножеством C ++? [закрыто]

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

116
Что такое файл .h.gch?

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

116
Хороший пример для boost :: algorithm :: join

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

116
Ошибка сегментации при больших размерах массива

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

116
const char * конкатенация

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

116
Практики кодирования, которые позволяют компилятору / оптимизатору делать более быструю программу

Много лет назад компиляторы C не были особенно умными. В качестве обходного пути K&R изобрел ключевое слово register , чтобы намекнуть компилятору, что, возможно, было бы неплохо сохранить эту переменную во внутреннем регистре. Они также сделали третичный оператор, чтобы помочь сгенерировать...

116
Почему нет int pow (int base, int exponent) в стандартных библиотеках C ++?

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

116
Могу ли я скомпилировать все файлы .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выходной двоичный файл в папке верхнего уровня...

116
Какие различия, если таковые имеются, между C ++ 03 и C ++ 11 можно обнаружить во время выполнения?

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

116
Почему я не могу инициализировать неконстантный статический член или статический массив в классе?

Почему я не могу инициализировать неконстантный staticчлен или staticмассив в классе? class A { static const int a = 3; static int b = 3; static const int c[2] = { 1, 2 }; static int d[2] = { 1, 2 }; }; int main() { A a; return 0; } компилятор выдает следующие ошибки: g++ main.cpp main.cpp:4:17:...

116
Инициализация двухмерного std :: vector

Итак, у меня есть следующее: std::vector< std::vector <int> > fog; и я инициализирую его очень наивно: for(int i=0; i<A_NUMBER; i++) { std::vector <int> fogRow; for(int j=0; j<OTHER_NUMBER; j++) { fogRow.push_back( 0 ); } fog.push_back(fogRow); } И это очень неправильно ......

116
Разница между `const shared_ptr <T>` и `shared_ptr <const T>`?

Я пишу метод доступа для общего указателя на C ++, который выглядит примерно так: class Foo { public: return_type getBar() const { return m_bar; } private: boost::shared_ptr<Bar> m_bar; } Таким образом, для поддержки константности getBar()возвращаемого типа должен быть объект...