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

Вопросы о C ++, статически типизированной, свободной форме, мультипарадигме, скомпилированном языке программирования общего назначения.

10
Почему языки требуют скобок вокруг выражений, когда они используются с «if» и «while»?
Языки , как C, Java и C ++ все требуют скобки вокруг всего выражения при использовании в if, whileили switch. if (true) { // Do something } в отличие от if true { // Do something } Это кажется мне странным, потому что круглые скобки излишни. В этом примере trueэто …

13
Разумно ли обнулять каждый разыменованный указатель?
На новой работе я получаю пометки в обзорах кода для такого кода: PowerManager::PowerManager(IMsgSender* msgSender) : msgSender_(msgSender) { } void PowerManager::SignalShutdown() { msgSender_->sendMsg("shutdown()"); } Мне сказали, что последний метод должен читать: void PowerManager::SignalShutdown() { if (msgSender_) { msgSender_->sendMsg("shutdown()"); } } то есть, я должен поставить NULLохрану вокруг msgSender_переменной, даже если он …

3
Почему мы должны помещать частных членов в заголовки?
Закрытые переменные - это способ скрыть сложность и детали реализации для пользователя класса. Это довольно приятная особенность. Но я не понимаю, почему в C ++ нам нужно поместить их в заголовок класса. Я вижу два досадных недостатка в этом: Загромождает заголовок от пользователя Вызывает перекомпиляцию всех клиентских библиотек при изменении …
62 c++  headers 

10
Плохо ли использовать компилятор C ++ только для перегрузки функций?
Поэтому я работаю над дизайном программного обеспечения с использованием C для определенного процессора. Набор инструментов включает в себя возможность компилировать как C, так и C ++. Для того, что я делаю, в этой среде нет динамического выделения памяти, и программа в целом довольно проста. Не говоря уже о том, что …

7
Использование перечисляемых областей для битовых флагов в C ++
enum X : int(С #) или enum class X : int(C ++ , 11) представляет собой тип , который имеет скрытое внутреннее поле , intкоторый может содержать любое значение. Кроме того, Xв перечислении определен ряд предопределенных констант . Можно привести перечисление к его целочисленному значению и наоборот. Это все верно …

9
std :: shared_ptr в крайнем случае?
Я просто смотрел трансляции "Going Native 2012" и заметил обсуждение std::shared_ptr. Я был немного удивлен, услышав несколько отрицательный взгляд Бьярне на std::shared_ptrего комментарий о том, что его следует использовать в качестве «последнего средства», когда время жизни объекта не определено (что, я считаю, по его мнению, должно быть нечастым случаем). Кто-нибудь …

10
Лучше Show () + Hide () или SetVisible (bool видимый)?
Что лучше и почему? (С точки зрения дизайна интерфейса): а) иметь два Show()и Hide()функции б) иметь одну SetVisible(bool visible)функцию РЕДАКТИРОВАТЬ: Например, некоторые объекты имеют состояние видимости, и эта функция используется для его изменения. в) иметь все три Show(), Hide(), SetVisible(bool visible)функции
59 java  c++  interfaces 

13
Философия, лежащая в основе неопределенного поведения
Спецификации C \ C ++ оставляют большое количество вариантов поведения, открытых для компиляторов, чтобы реализовать их по-своему. Есть ряд вопросов, которые постоянно задают здесь о том же самом, и у нас есть несколько отличных постов об этом: https://stackoverflow.com/questions/367633/what-are-all-the-common-undefined-behaviour-that-ac-programmer-should-know-abo https://stackoverflow.com/questions/4105120/what-is-undefined-behavior https://stackoverflow.com/questions/4176328/undefined-behavior-and-sequence-points Мой вопрос не о том, что такое неопределенное поведение, или …

17
Какие проблемы программирования лучше всего решать с помощью указателей? [закрыто]
Ну, я в основном понимаю, как использовать указатели, но не то, как лучше всего их использовать для лучшего программирования. Какие хорошие проекты или проблемы нужно решить, используя указатели, чтобы я мог лучше их понять?

11
Современный обзор Java [закрыт]
Я программировал в течение нескольких лет, и я начал на Java, и в свое время я нашел много разных источников, утверждающих, что Java так или иначе является низшим языком. Я хорошо знаю, что у каждого языка есть свои сильные и слабые стороны, но многие вещи, которые я читал о Java, …

9
Удобочитаемость в сравнении с ремонтопригодностью, особый случай написания вызовов вложенных функций
Мой стиль кодирования для вызовов вложенных функций следующий: var result_h1 = H1(b1); var result_h2 = H2(b2); var result_g1 = G1(result_h1, result_h2); var result_g2 = G2(c1); var a = F(result_g1, result_g2); Недавно я перешел в отдел, где очень популярен следующий стиль кодирования: var a = F(G1(H1(b1), H2(b2)), G2(c1)); Результатом моего способа …

7
Почему в C ++ нет конструкции finally?
Обработка исключений в C ++ ограничена попыткой / throw / catch. В отличие от Object Pascal, Java, C # и Python, даже в C ++ 11 finallyконструкция не была реализована. Я видел очень много литературы по С ++, обсуждающей «код, исключающий исключение». Липпман пишет, что безопасный код исключений - это …
57 c++  exceptions 

7
Почему так много строковых классов перед лицом std :: string?
Мне кажется, что многие большие библиотеки C ++ создают свои собственные строковые типы. В коде клиента вы должны либо использовать один из библиотеки ( QString, CString, и fbstringт.д., я уверен , что кто - нибудь может назвать несколько) или сохранить преобразование между стандартным типом и одна библиотека использует (который большую …
56 c++ 

3
Что такое лямбда и почему она полезна? [закрыто]
До сих пор я слышал о: Лямбда-исчисление Лямбда-программирование Лямбда-выражения Лямбда-функции Что, похоже, связано с функциональным программированием ... По всей видимости, он будет интегрирован в C ++ 1x, поэтому я мог бы лучше понять это сейчас: http://en.wikipedia.org/wiki/C%2B%2B0x#Lambda_functions_and_expressions Может кто-нибудь кратко определить, что такое лямбда-вещи, и указать, где это может быть полезно?

15
Почему у нас есть постфиксный прирост?
Отказ от ответственности : я прекрасно знаю семантику приращения префикса и постфикса. Поэтому, пожалуйста, не объясните мне, как они работают. Читая вопросы о переполнении стека, я не могу не заметить, что программисты путаются с оператором приращения postfix снова и снова. Отсюда вытекает следующий вопрос: есть ли случай использования, когда приращение …
55 c++  c  postfix 

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