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

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

4
Форвард декларації проти включати
Reduce the number of #include files in header files. It will reduce build times. Instead, put include files in source code files and use forward declarations in header files. Я читав це тут. http://www.yolinux.com/TUTORIALS/LinuxTutorialC++CodingStyle.html . Так сказано, якщо клас (клас A) у заголовковому файлі не потребує використання фактичного визначення якогось …
18 c++  coding-style 

6
Чи можливо використовувати C ++ з .NET рамкою?
Я прочитав багато коментарів щодо програмування графічного інтерфейсу, як на C #, так і на C ++. І я помітив, що Microsoft .NET Framework є потужним для програмування GUI. То чи можливо використовувати C ++ та .NET Framework? Я думаю, що це буде чудова комбінація, оскільки C ++ є потужною …
18 c++  .net 

4
Написання лексеми на C ++
Які хороші ресурси щодо того, як написати лексему на C ++ (книги, навчальні посібники, документи), які хороші методи та практики? Я подивився в Інтернеті, і всі кажуть використовувати генератор лексерів, як Lex. Я не хочу цього робити, я хочу написати лексеру вручну.
18 c++  compiler  lexer 

3
Код тестування доставки. Чому б ти не став?
Я хотів би поставити тестовий код поряд із продуктом. Зокрема, передбачте варіант, щоб кожен, хто має копію нашої програми, міг натиснути кнопку «самотестування» або пройти тест - себе у командному рядку та пройти через повний набір підрозділів | інтеграційні тести. Я, головним чином, хочу це зробити, щоб допомогти налагодити проблеми, …

5
Чи створюють переліки крихкі інтерфейси?
Розглянемо приклад нижче. Будь-яка зміна перерахунку ColorChoice впливає на всі підкласи IWindowColor. Чи викликають перерахунки крихкі інтерфейси? Чи є щось краще, ніж ентум, щоб дозволити більше поліморфної гнучкості? enum class ColorChoice { Blue = 0, Red = 1 }; class IWindowColor { public: ColorChoice getColor() const=0; void setColor( const ColorChoice …

2
Про об'єднання сусідніх літеральних рядків
C і C ++ компілює суміжні літеральні рядки як один рядковий літерал. Наприклад це: "Some text..." "and more text" еквівалентно: "Some text...and more text" В інших мовах сімейства C, таких як C # або Java, це синтаксична помилка (що є абсолютно відмінною BTW). Яке обґрунтування / історична причина для C …

4
Яка з цих відповідей щодо функцій є неправильною?
Тому, хоча я робив кілька тривалих компіляцій, я вирішив пройти загальний тест на C ++ на ODesk і натрапив на це питання. Якщо я не помиляюся, враховуючи формулювання (або його відсутність), все це може бути правдою. а. int Foo() { } int Foo(int bar) { } б. Ну, return void;було …
17 c++ 

4
Які проблеми введення C ++ - як const у мову?
Мене цікавить ідея C ++ - як constне таке конкретне виконання (як відкидання const). Візьмемо для прикладу C # - йому не вистачає C ++ - як const, а причиною цього є звичайне - люди та час. Крім того, здається, що команда C # вивчила виконання C ++ const, маркетингу …

5
Чи було б сенсом використовувати об'єкти (замість примітивних типів) для всього в C ++?
Під час нещодавнього проекту, над яким я працював, мені довелося використовувати багато функцій, які виглядають так: static bool getGPS(double plane_latitude, double plane_longitude, double plane_altitude, double plane_roll, double plane_pitch, double plane_heading, double gimbal_roll, double gimbal_pitch, double gimbal_yaw, int target_x, int target_y, double zoom, int image_width_pixels, int image_height_pixels, double & Target_Latitude, double …

3
Як би ви провели блок-тест або виконали найефективніше автоматизоване тестування графічного коду для OpenGL?
Я пишу гру та супровідний графічний движок на версії OpenGL в C ++. Я також прихильник хороших процесів кодування та автоматизованого тестування. Графічний код + тестування здається досить непомітним, оскільки вихід часто є лише візуальним чи дуже зорово орієнтованим. Наприклад, уявіть собі аналіз сирого потоку зображень, що відображається на екрані …

4
Мотивація та використання конструкторів переміщення в C ++
Нещодавно я читав про конструктори переміщень на C ++ (див., Наприклад, тут ) і намагаюся зрозуміти, як вони працюють і коли я повинен їх використовувати. Наскільки я розумію, конструктор рухів використовується для полегшення продуктивності, спричиненої копіюванням великих об'єктів. На сторінці вікіпедії сказано: "Хронічна проблема продуктивності C ++ 03 - це …

4
Використовувати `using` в C ++ чи уникати цього?
Знижка на дуже різну семантику завдяки ADL, як я взагалі повинен користуватися usingі чому? Це залежить від ситуації (наприклад, заголовок, який буде #included та вихідний файл, який не буде)? Також я повинен віддати перевагу ::std::або std::? Рівень простору імен using namespace: using namespace std; pair<string::const_iterator, string::const_iterator> f(const string &s) { …
17 c++  namespace 

4
Чому стандарт C ++ не прийняв шаблони виразів?
Наскільки я розумію, що шаблони виразів як техніка були виявлені значно раніше оригінального стандарту C ++ у 1998 році. Чому їх не використовували для підвищення продуктивності декількох стандартних класів, таких як std::stringпотоки?
17 c++  history 

13
Чи правильно використовувати #define, щоб полегшити введення повторного коду?
Чи є думка про те, чи є використання #define для визначення повних рядків коду для спрощення кодування є хорошою чи поганою практикою програмування? Наприклад, якщо мені потрібно було друкувати купу слів разом, я би роздратований набравши текст << " " << Щоб вставити пробіл між словами в cout оператор. Я …

2
Чи є якась перевага в маніпуляції з бітом в стилі c через std :: bitset?
Я працюю майже виключно в C ++ 11/14, і, як правило, чіпляюсь, коли бачу такий код: std::int64_t mArray; mArray |= someMask << 1; Це лише приклад; Я кажу про трохи розумну маніпуляцію взагалі. Чи є в C ++ справді якийсь момент? Вищезазначене є переконливим та схильним до помилок, а використання …

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