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

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

3
Як ви обробляєте все більш тривалий час компіляції під час роботи з шаблонами?
Я використовую Visual Studio 2012, і у нього є випадки, коли ми додавали параметри шаблонів до класу "просто", щоб ввести "точку шва", щоб в блок-тесті ми могли замінити ці частини на макетні об'єкти. Як ви зазвичай вводите точки шва в C ++: використовуючи інтерфейси та / або змішуючи на основі …
13 c++  tdd  templates 

1
C ++ 11 підтримка функцій списку вищого порядку
Більшість функціональних мов програмування (наприклад , Common Lisp, Scheme / ракетки, Clojure, Haskell, Scala, Ocaml, SML) підтримують деякі загальні функції вищого порядку в списках, такі як map, filter, takeWhile, dropWhile, foldl, foldr(см , наприклад , Common Lisp, Scheme / Ракетка, Довідковий лист Clojure , документація Haskell , Scala , OCaml …

4
Чи існує інше обґрунтування використання абстрактних класів / інтерфейсів у C ++ та Java
За словами Герба Саттера, слід віддавати перевагу абстрактним інтерфейсам (всі чисті віртуальні функції) абстрактним класам на C ++, щоб максимально відключити реалізацію. Хоча я особисто вважаю це правило дуже корисним, останнім часом я приєднався до команди з багатьма програмістами Java, і в коді Java ця інструкція, здається, не існує. Функції …

7
Які ролі синглів, абстрактних класів та інтерфейсів?
Я вивчаю OOP в C ++ і, хоча знаю визначення цих 3 понять, я не можу реально усвідомити, коли або як ним користуватися. Давайте використаємо цей клас для прикладу: class Person{ private: string name; int age; public: Person(string p1, int p2){this->name=p1; this->age=p2;} ~Person(){} void set_name (string parameter){this->name=parameter;} void set_age (int …

3
Якої продуктивності можна очікувати від c_str () std :: string? Завжди постійний час?
Останнім часом я робив деякі необхідні оптимізації. Одне, що я робив, - це змінити деякі ostringstreams -> sprintfs. Я sprintf'ing купу std :: рядків до масиву стилів ac, ала char foo[500]; sprintf(foo, "%s+%s", str1.c_str(), str2.c_str()); Виявляється, реалізація std :: string :: c_str () Microsoft працює в постійний час (вона просто …

7
Чи є загальна норма про капіталізацію в С ++? [зачинено]
Закрито . Це питання ґрунтується на думці . Наразі відповіді не приймаються. Хочете вдосконалити це питання? Оновіть питання, щоб на нього можна було відповісти фактами та цитатами, відредагувавши цю публікацію . Закрито 5 років тому . Я багато працюю в Python та Java, і обидві ці мови мають досить поширені …

7
Чи досвід C # добре перекладається на C ++? [зачинено]
Закрито . Це питання ґрунтується на думці . Наразі відповіді не приймаються. Хочете вдосконалити це питання? Оновіть питання, щоб на нього можна було відповісти фактами та цитатами, відредагувавши цю публікацію . Закрито 5 років тому . Мої уроки програмування в школі були C ++, але я закінчив роботу над роботою …
13 c#  c++  experience 

9
Перезапис асемблера IBM + COBOL в C ++
Я працюю агентом з оренди / менеджером в компанії з прокату автомобілів, яка працює за системою прокату, яка була написана в 1972 році. Я вирішив, що, можливо, настав час для оновлення. Для короткого перегляду, ось короткий приклад безумства, з яким нам доводиться стикатися з цієї програми щодня: Агент з оренди …

6
Чи є "Пояснення ідіоми RAII" гарним питанням скринінгу на C ++? [зачинено]
Закрито . Це питання ґрунтується на думці . Наразі відповіді не приймаються. Хочете вдосконалити це питання? Оновіть питання, щоб на нього можна було відповісти фактами та цитатами, відредагувавши цю публікацію . Закрито 6 років тому . Компанія, з якою я співпрацюю, попросила мене зробити скринінг телефону кандидата, щоб переконатися, що …
13 c++  interview 

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


4
Чому sizeof називається оператором часу компіляції?
Спочатку це частина іншого питання. Чому його sizeofназивають оператором часу компіляції? Це насправді оператор не працює? І якщо це дійсно оператор часу компіляції, як це допомагає створювати портативний код, який працює однаково на різних комп'ютерах? Будь ласка, поясніть детально.
12 c++ 

2
Використовуєте маніпулятор потоку (endl) або символ втечі нового рядка (\ n)?
У мене немає конкретного контексту, в якому я задаю питання, але, читаючи книгу-початківця на C ++, я помітив використання як маніпулятора потоку endl, так і символу втечі нового рядка при роботі з об'єктом потоку. Приклад такий: cout << "Hello World" << endl; cout << "Hello World\n"; Мої запитання: Чи доцільніше …

2
Чому базовий клас повинен мати тут віртуальний деструктор, якщо похідний клас не виділяє необробленої динамічної пам'яті?
Наступний код викликає витік пам'яті: #include <iostream> #include <memory> #include <vector> using namespace std; class base { void virtual initialize_vector() = 0; }; class derived : public base { private: vector<int> vec; public: derived() { initialize_vector(); } void initialize_vector() { for (int i = 0; i < 1000000; i++) { …

1
Використання друзів класів для інкапсуляції функцій приватних членів на C ++ - хороша практика чи зловживання?
Тому я помітив, що можна уникнути введення приватних функцій у заголовки, роблячи щось подібне: // In file pred_list.h: class PredicateList { int somePrivateField; friend class PredicateList_HelperFunctions; public: bool match(); } // In file pred_list.cpp: class PredicateList_HelperFunctions { static bool fullMatch(PredicateList& p) { return p.somePrivateField == 5; // or whatever } …

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