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

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

5
Документація з кодом: Громадська проти Непублічна?
Я один з тих розробників, який має розум, що написаний код повинен бути зрозумілим і читатись як книга. ЯКЩО, розробляючи код бібліотеки для інших людей, я намагаюся вмістити якомога більше документації у файли заголовків; що викликає питання: чи варто документувати методи, які є непублічними, навіть варті часу? Вони не будуть …

2
Однозначна відповідальність та користувацькі типи даних
Протягом останніх місяців я просив, щоб люди, які перебувають тут, на SE та інших сайтах, пропонували мені конструктивну критику щодо мого коду. Є одне, що постійно вискакує майже кожен раз, і я все ще не згоден з цією рекомендацією; : P Я хотів би це обговорити тут, і, можливо, мені …

3
Чи припиняється поступова мета-C ++? [зачинено]
Закрито . Це питання ґрунтується на думці . Наразі відповіді не приймаються. Хочете вдосконалити це питання? Оновіть питання, щоб на нього можна було відповісти фактами та цитатами, відредагувавши цю публікацію . Закрито 5 років тому . Чи яблуко припиняє підтримку для target-c ++? Зверніть увагу на наступне: У мовному посібнику …
10 c++  objective-c  apple 

10
Віддаєте перевагу алгоритмам рукописних циклів?
Що з перерахованого нижче вам здається більш читабельним? Рукописний цикл: for (std::vector<Foo>::const_iterator it = vec.begin(); it != vec.end(); ++it) { bar.process(*it); } Або виклик алгоритму: #include <algorithm> #include <functional> std::for_each(vec.begin(), vec.end(), std::bind1st(std::mem_fun_ref(&Bar::process), bar)); Цікаво, чи std::for_eachдійсно це варте, враховуючи такий простий приклад, вже потрібна стільки коду. Які ваші думки з …
10 c++  algorithms 


4
C ++ Кращий метод роботи з реалізацією для великих шаблонів
Зазвичай при оголошенні класу C ++ найкраще застосовувати лише декларацію у файлі заголовка та розміщувати реалізацію у вихідному файлі. Однак, схоже, що ця модель дизайну не працює для шаблонових класів. Якщо ви шукаєте в Інтернеті, існує 2 думки щодо найкращого способу управління шаблонами класів: 1. Вся заява та реалізація в …

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

2
Чи не виникає проблема з куркою-яйцем, оскільки GCC написаний самим C ++?
З моменту випуску 4.8 компілятор C ++ GCC (його частина G ++) записується вже не на C, а в сам C ++. У мене є гіпотетичне питання з цього приводу. Цікаво, як скомпілювати код C ++ GCC на новій платформі, у якій ще немає компілятора C ++. Звичайно, ви можете …
10 c++  compiler  gcc 

3
C ++: Метапрограмування за допомогою API компілятора, а не з функціями C ++
Це почалося як питання SO, але я зрозумів, що це досить нетрадиційно, і, виходячи з фактичного опису на веб-сайтах, він може бути краще підходить для програмістів.se, оскільки питання має велику концептуальну вагу. Я вивчав кланг LibTooling, і це дуже потужний інструмент, здатний викрити всю " солону крупу " коду по-дружньому, …

7
Забезпечення чіткого включення заголовків у файл CPP
Я думаю, що це загальнодобрана практика #includeзаголовка для будь-яких типів, що використовуються у файлі CPP, незалежно від того, що вже включено через файл HPP. Так, наприклад, я можу #include <string>як у своїй ГЕС, так і в CPP, хоча я все-таки можу компілювати, якби пропустив її в CPP. Таким чином, мені …

4
Шаблон дизайну для поліморфної поведінки, дозволяючи розділити бібліотеку
Скажімо , у мене є ієрархія Itemкласів: Rectangle, Circle, Triangle. Я хочу вміти їх малювати, тому моя перша можливість - додати віртуальний Draw()метод до кожного: class Item { public: virtual ~Item(); virtual void Draw() =0; }; Однак я хочу розділити функцію малювання на окрему бібліотеку Draw, тоді як основна бібліотека …

3
Як я маю інкапсулювати доступ до бази даних?
Наведіть кілька прикладів гарних структур класу, які використовуються для управління доступом до бази даних? Я прихильник інкапсуляції класів і вважаю за краще, щоб контейнери (наприклад, машина) не виконували завдань із бази даних. Я також хотів би можливість в майбутньому легко вносити такі речі, як кеш бази даних. Я часто беру …
10 c++  database 

3
Анотація базових класів та побудова копій, правила
Часто буває корисно мати абстрактний базовий клас, щоб ізолювати інтерфейс об'єкта. Проблема полягає в тому, що конструкція копій, IMHO, значно забита за замовчуванням у C ++, при цьому конструктори копій генеруються за замовчуванням. Отже, що таке гетчі, коли у вас є абстрактний базовий клас та вихідні вказівники у похідних класах? …

9
Спадщина проти композиції для шахових фігур
Швидкий пошук цієї ставки обміну показує, що загалом склад вважається більш гнучким, ніж спадкування, але, як завжди, це залежить від проекту тощо. І є випадки, коли успадкування є кращим вибором. Я хочу зробити 3D-шахову гру, де кожен твір має сітку, можливо, різні анімації тощо. У цьому конкретному прикладі здається, що …

2
Правильний дизайн, щоб уникнути використання динамічної передачі?
Провівши деякі дослідження, я не можу знайти простий приклад вирішення проблеми, з якою я стикаюся часто. Скажімо, я хочу створити невелику програму, де я можу створювати Squares, Circles та інші фігури, відображати їх на екрані, змінювати їх властивості після їх вибору, а потім обчислювати всі їхні периметри. Я б робив …

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