Запитання з тегом «c++»

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

2
Що таке RAII? Приклади?
Завжди, коли використовується термін RAII, люди насправді говорять про деконструкцію замість ініціалізації. Я думаю, що я розумію, що це може означати, але я не зовсім впевнений. Також: чи є С ++ єдиною мовою RAII? Що з Java або C # /. NET?
19 c++ 

1
Чому подвійна кишка замість крапки?
Він , по слухам , що в початку C ++ реалізація мала точковий оператор для доступу простору імен. Існує думка, що крапка зручніша, ніж сучасний оператор подвійної двокрапки. Що було міркуванням про введення подвійної кишки?

7
Проблема стилю кодування: Чи повинні ми мати функції, які беруть параметр, змінюють його, а потім ВЗАЄМО цей параметр?
У мене з товаришем трохи дискутують про те, чи є ці дві практики лише двома сторонами однієї монети, чи чи справді краща. У нас є функція, яка приймає параметр, заповнює його член, а потім повертає його: Item predictPrice(Item item) Я вважаю, що оскільки він працює над тим самим об’єктом, який …

4
Розуміння кадру стека функціонального виклику в C / C ++?
Я намагаюся зрозуміти, як будуються кадри стека і які змінні (парами) підштовхуються до складання в якому порядку? Деякі результати пошуку показали, що компілятор C / C ++ приймає рішення на основі операцій, які виконуються в межах функції. Наприклад, якщо функція повинна була просто збільшити значення переданого int на 1 (аналогічно …
19 c++  c  compiler  stack 

8
C ++ другові чи ні
У цьому семестрі в коледжі я маю об’єктно-орієнтоване програмування з курсом c ++, і ми вивчали функції друзів. Я інстинктивно не люблю їх за їхню здатність обходити безпеку, яку забезпечує інкапсуляція та приховування даних, я прочитав кілька статей в Інтернеті, і деякі люди думали, що це гарна ідея з деякими …

8
Читаєте ви C або C ++ помилки компіляції після першої?
Я ніколи не розумів, чому компілятори C і C ++ намагаються відновитися після помилок і продовжують розбір. Майже завжди перша помилка породжує потік помилкових помилок, які зникнуть, як тільки виправлено першу. Після декількох років досвіду я просто перестав шукати будь-яку помилку, окрім першої у кожному файлі. Я повторно запускаю компілятор, …

7
Що ідіоматичне?
Я розумію, що "ідіома" є звичайною операцією або шаблоном, який у певній мові не спрощений синтаксисом основної мови, наприклад, збільшенням цілого числа: i = i + 1; У C ++ ця ідіома спрощена оператором: ++i; Однак, коли хтось використовує термін "ідіоматичний", я не знаю, як це зрозуміти. Що робить фрагмент …
19 c++  idioms 

7
Чому нам потрібно включати .h, коли все працює, включаючи лише файл .cpp?
Чому нам потрібно включати .hі .cppфайли, і файли, тоді як ми можемо змусити його працювати виключно, включивши .cppфайл? Наприклад: створення file.hоголошень, що містять дані, потім створення file.cppвизначень, що містять, і включення обох в main.cpp. Альтернативно: створення file.cppмістить вміст декларацій / визначень (без прототипів), включаючи його main.cpp. Обидва працюють на мене. …
18 c++  c  headers  linking  include 

2
Чому C настільки високий в індексі популярності TIOBE, тоді як C ++ теж трохи нижче, але не такий популярний? [зачинено]
Наразі це запитання не підходить для нашого формату запитань. Ми очікуємо, що відповіді будуть підкріплені фактами, посиланнями або експертними знаннями, але це питання, ймовірно, вимагатиме дискусій, аргументів, опитувань чи розширеної дискусії. Якщо ви вважаєте, що це питання можна вдосконалити та, можливо, знову відкрити, відвідайте довідковий центр для ознайомлення . Закрито …

8
Чому книги кажуть: "компілятор виділяє простір для змінних в пам'яті"?
Чому книги кажуть: "компілятор виділяє простір для змінних в пам'яті". Хіба це не виконуваний файл, який це робить? Я маю на увазі, наприклад, якщо я пишу наступну програму, #include <iostream> using namespace std; int main() { int foo; return 0; } і скомпілюйте його і отримайте виконуваний файл (нехай це …
18 c++ 

5
Чому я бачу стільки миттєвих класів без держави?
Я бачу безліч миттєвих класів у світі C ++ та Java, які не мають жодного стану. Я дійсно не можу зрозуміти, чому люди так роблять, вони можуть просто використовувати простір імен з вільними функціями на C ++ або клас із приватним конструктором і лише статичними методами на Java. Єдина користь, …

3
Чому оператор стрілки в C ++ не є лише псевдонімом *.?
У c ++ оператор * може бути перевантажений, наприклад, з ітератором, але оператор стрілки (->) (. *) Не працює з класами, які перевантажують оператора *. Я думаю, що препроцесор міг би легко замінити всі екземпляри -> на (* зліва) .right, і це зробило б ітератори приємнішими для реалізації. чи є …
18 c++  operators 

8
Чи існує мова між C і C ++?
Мені дуже подобається простий і прозорий характер C: коли я пишу код C, я відчуваю себе непідвладненим "протікаючим абстракціям" і майже завжди можу зробити проникливий здогад щодо збірки, яку виробляю. Мені також подобається простий, звичний синтаксис для C. Однак у C немає таких простих, корисних каракулей, які C ++ пропонує, …
18 c++  c 

3
Переваги синтаксису мови зліва направо
Я дивився інтерв’ю з Herb Sutter на Channel9, і він згадав у кінці відео, що синтаксис мови зліва направо опиниться вгорі у його списку бажань для майбутнього стандарту C ++ (хоча він визнає, що зміна C ++ таким чином майже би зробив для зовсім іншого звіра). Окремо від: більш зрозумілий …

10
Чому спадщина та поліморфізм настільки широко використовуються?
Чим більше я дізнаюся про різні парадигми програмування, такі як функціональне програмування, тим більше я починаю ставити під сумнів розумність таких концепцій OOP, як спадкування та поліморфізм. Я вперше дізнався про спадщину та поліморфізм у школі, і в той час поліморфізм здавався чудовим способом написання загального коду, який дозволяв легко …

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.