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

14
Const C ++ DRY Стратегии

Чтобы избежать нетривиального дублирования, связанного с константой в C ++, существуют ли случаи, когда const_cast будет работать, но частная константная функция, возвращающая non-const, не будет? В пункте 3 « Эффективного C ++» Скотта Мейерса он предполагает, что const_cast в сочетании со...

14
C # дает вам «меньше веревки, чтобы повеситься», чем C ++? [закрыто]

В настоящее время этот вопрос не очень подходит для нашего формата вопросов и ответов. Мы ожидаем, что ответы будут подтверждены фактами, ссылками или опытом, но этот вопрос, скорее всего, вызовет дебаты, споры, опрос или расширенное обсуждение. Если вы считаете, что этот вопрос можно улучшить и,...

14
Почему использование библиотек C ++ так сложно?

Прежде всего, я хочу отметить, что я люблю C ++, и я один из тех, кто думает, что код на C ++ проще, чем на Java. За исключением одной крошечной вещи: библиотеки. В Java вы можете просто добавить jar к пути сборки, и все готово. В C ++ обычно требуется установить несколько путей для файлов...

14
Это плохая идея сделать метод класса, который передается переменным класса?

Вот что я имею в виду: class MyClass { int arr1[100]; int arr2[100]; int len = 100; void add(int* x1, int* x2, int size) { for (int i = 0; i < size; i++) { x1[i] += x2[i]; } } }; int main() { MyClass myInstance; // Fill the arrays... myInstance.add(myInstance.arr1, myInstance.arr2,...

14
Должны ли мы добавить конструкторы к структурам?

Мы часто используем структуры c ++ для определения структуры данных, а не класса, который может быть законченным модулем с методами-членами. Теперь, в глубине души, мы знаем, что они оба одинаковы (грубо говоря). Тот факт, что мы часто используем / относимся к структурам как к объектам, содержащим...

13
Является ли «Объяснить идиому RAII» хорошим проверочным вопросом C ++? [закрыто]

Закрыто . Этот вопрос основан на мнении . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы ответить на него фактами и цитатами, отредактировав этот пост . Закрыто 5 лет назад . Компания, с которой я работаю, попросила меня проверить кандидатские...

13
Какой смысл проводить синтаксическое различие между стандартными и пользовательскими типами?

Хотя здесь я буду ссылаться конкретно на соглашения об именах в C ++ и Бьярне Страуструпе , в принципе я видел, что люди используют несколько схожие правила для других языков здесь и там. Итак, основная идея заключается в том, что при чтении кода нужно различать стандартные типы от пользовательских...

13
Инварианты времени жизни объекта и семантика перемещения

Когда я давно изучал C ++, мне было настоятельно подчеркнуто, что отчасти C ++ состоит в том, что, как и у циклов, есть «инварианты цикла», у классов также есть инварианты, связанные с временем жизни объекта - вещи, которые должны быть истинными. пока объект жив. Вещи, которые должны быть...

13
Переписывание IBM на ассемблере + COBOL на C ++

Я работаю агентом / менеджером по прокату в компании по прокату автомобилей, работающей по системе проката, написанной в 1972 году. Я решил, что, возможно, пришло время обновить информацию. Для некоторой предыстории, вот короткий пример безумия, с которым нам приходится сталкиваться из этой...

13
Хорошо ли переводится C # на C ++? [закрыто]

Закрыто . Этот вопрос основан на мнении . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы ответить на него фактами и цитатами, отредактировав этот пост . Закрыто 5 лет назад . Мои уроки программирования в школе были на C ++, но в последние несколько...

13
Есть ли общее соглашение о капитализации в C ++? [закрыто]

Закрыто . Этот вопрос основан на мнении . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы ответить на него фактами и цитатами, отредактировав этот пост . Закрыто 5 лет назад . Я проделал большую работу в Python и Java, и оба эти языка имеют довольно...

13
Каковы роли синглетонов, абстрактных классов и интерфейсов?

Я изучаю ООП на C ++ и, хотя мне известны определения этих трех концепций, я не могу понять, когда и как их использовать. Давайте использовать этот класс для примера: class Person{ private: string name; int age; public: Person(string p1, int p2){this->name=p1; this->age=p2;} ~Person(){} void...

13
Дизайн: Обратный звонок в родительский класс

При моделировании объекта с дочерними элементами обычно включают дочерние элементы посредством композиции в качестве члена родительского класса. Однако иногда детям нужно что-то сказать родителю, им нужно вызвать функцию родителя. Как это можно сделать с помощью C ++? Некоторые варианты: Сделайте...

13
Существует ли другое обоснование использования абстрактных классов / интерфейсов в C ++ и Java?

Согласно Хербу Саттеру, следует предпочитать абстрактные интерфейсы (все чисто виртуальные функции) абстрактным классам в C ++, чтобы максимально отделить реализацию. Хотя я лично считаю, что это правило очень полезно, я недавно присоединился к команде со многими программистами на Java, и в коде...

13
Поддержка C ++ 11 для функций списка высшего порядка

Большинство функциональных языков программирования (например , Common Lisp, Scheme / ракетки, Clojure, Haskell, Scala, Ocaml, SML) поддерживают некоторые общие функции высшего порядка в списках, такие как map, filter, takeWhile, dropWhile, foldl, foldr(см , например , Common Lisp, Scheme / Ракетка,...

13
Методы обеспечения кроссплатформенной совместимости (C ++)?

Я заканчивал один из моих ранних проектов C ++, который (в соответствии с фреймворком) должен был быть кроссплатформенным. Я полностью разработал проект в Windows и Visual Studio, полагая, что, поскольку все библиотеки являются кроссплатформенными, выполнение сборки OSX в дальнейшем будет...

13
Как вы справляетесь со все более длительным временем компиляции при работе с шаблонами?

Я использую Visual Studio 2012, и у него есть случаи, когда мы добавляли параметры шаблонов в класс «просто», чтобы ввести «точку шва», чтобы в модульном тесте мы могли заменить эти части на фиктивные объекты. Как вы обычно вводите точки стыка в C ++: используя интерфейсы и / или смешивание на...

13
Является ли использование макросов C / C ++ в качестве ярлыка для условной компиляции хорошей практикой?

Допустим, я хочу, чтобы в моем коде было несколько типов выходных сообщений. Один из них DEBUG, который печатается, только когда код скомпилирован в режиме отладки. Обычно я должен был написать что-то вроде #ifdef DEBUG std::cout << "Debug message" << std::endl; #endif что довольно...

13
Как C ++ обрабатывает множественное наследование с общим общим предком?

Я не парень C ++, но я вынужден думать об этом. Почему множественное наследование возможно в C ++, но не в C #? (Я знаю о проблеме алмазов , но я не об этом здесь спрашиваю). Как C ++ разрешает неоднозначность идентичных сигнатур методов, унаследованных от нескольких базовых классов? И почему тот...