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

172
Является ли C ++ 11 Uniform Initialization заменой синтаксиса старого стиля?

Я понимаю, что равномерная инициализация C ++ 11 решает некоторую синтаксическую неоднозначность в языке, но во многих презентациях Бьярна Страуструпа (особенно во время выступлений на GoingNative 2012) его примеры в основном используют этот синтаксис сейчас, когда он конструирует объекты....

140
Должен ли я прекратить использование термина C / C ++?

Я понимаю, что C и C ++ - это разные языки, но когда я изучал C ++, мне всегда говорили, что C - это подмножество C ++ или C ++ - это C с классами. И это было совершенно верно до появления C ++ x0, C ++ 11 (или современного C ++ 11/14/17 в целом). На самом деле (особенно при работе со встроенными...

122
Делает ли auto сложным для понимания C ++ код?

Я видел конференцию Херба Саттера, где он рекомендует каждому программисту C ++ использовать auto. Некоторое время назад мне приходилось читать код на C #, где varон широко использовался, и этот код было очень трудно понять - каждый раз, varкогда я его использовал, мне приходилось проверять тип...

60
std :: shared_ptr в крайнем случае?

Я просто смотрел трансляции "Going Native 2012" и заметил обсуждение std::shared_ptr. Я был немного удивлен, услышав несколько отрицательный взгляд Бьярне на std::shared_ptrего комментарий о том, что его следует использовать в качестве «последнего средства», когда время жизни объекта не определено...

60
Использование перечисляемых областей для битовых флагов в C ++

enum X : int(С #) или enum class X : int(C ++ , 11) представляет собой тип , который имеет скрытое внутреннее поле , intкоторый может содержать любое значение. Кроме того, Xв перечислении определен ряд предопределенных констант . Можно привести перечисление к его целочисленному значению и наоборот....

59
Философия, лежащая в основе неопределенного поведения

Спецификации C \ C ++ оставляют большое количество вариантов поведения, открытых для компиляторов, чтобы реализовать их по-своему. Есть ряд вопросов, которые постоянно задают здесь о том же самом, и у нас есть несколько отличных постов об этом:...

50
C ++ строго типизированный typedef

Я пытался придумать способ объявления строго типизированных typedefs, чтобы поймать определенный класс ошибок на этапе компиляции. Часто бывает, что я буду вводить int для нескольких типов идентификаторов или вектора для положения или скорости: typedef int EntityID; typedef int ModelID; typedef...

37
C ++ 11 включает в себя std :: stoi, почему бы не std :: itos?

Я заметил, что в C ++ 11 есть std::sto@семейство функций для простой распаковки ints / float / longs из строк. Однако я удивлен, что обратное не реализовано. Почему комитет по стандартам не включает std::itosсемейство функций для перехода от int / float / что угодно (назад) к...

36
Я начинающий. Могу ли я сразу начать изучать C ++ 11? или я должен выучить старый C ++? [закрыто]

Я новичок, и у меня мало знаний в программировании. Было бы хорошо, если бы я непосредственно изучал C ++ из книг, которые охватывают новый C ++ 11, или я должен изучать старые лучшие книги по C ++? Должен ли я иметь немного знаний о C ++ до изучения C ++ 11? или я могу начать прямо оттуда? Не...

35
Как сделать переход на C ++ 11?

Я некоторое время программировал на C ++, но в основном это было связано с низкоуровневыми возможностями C ++. Под этим я подразумеваю в основном работу с указателями и необработанными массивами. Я думаю, что это поведение известно как использование C ++ как C с классами. Несмотря на это, я только...

34
Обращался ли C ++ 11 к передаче объектов std lib между границами динамической / разделяемой библиотеки? (т.е. дллс и тд)?

Одна из моих главных претензий к C ++ заключается в том, насколько трудно на практике передавать объекты библиотеки std за пределы динамической библиотеки (т.е. dll / so). Библиотека std часто только для заголовков. Что отлично подходит для выполнения некоторых потрясающих оптимизаций. Однако для...

31
GCC умирает без поддержки потоков в Windows? [закрыто]

Мне нужно мнение. GCC всегда был очень хорошим компилятором, но в последнее время он теряет «привлекательность». Я только что обнаружил, что в Windows GCC нет std::threadподдержки, заставляющей пользователей Windows использовать другой компилятор, потому что самая захватывающая функция все еще...

29
Руководство по стилю для C ++ [закрыто]

Закрыто. Этот вопрос не по теме . В настоящее время не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он соответствовал теме разработки программного обеспечения в стеке. Закрыто 4 года назад . Прямо сейчас я использую руководство по стилю Google C ++ в своем коде C ++, и мне...

28
Зачем мне изучать C ++ 11, знавший C и C ++? [закрыто]

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

27
Устаревание считается вредным? [закрыто]

Закрыто . Этот вопрос основан на мнении . В настоящее время не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы ответить на него фактами и цитатами, отредактировав этот пост . Закрыто 6 лет назад . Я только что скомпилировал свой собственный код с -std=c++0xфлагом в GCC, так...

26
Разве когда-нибудь плохо отмечать C ++ функцию constexpr?

Учитывая очень тривиальную функцию, int transform(int val) { return (val + 7) / 8; } Должно быть совершенно очевидно, что эту функцию легко превратить в constexprфункцию, что позволяет мне использовать ее при определении constexprпеременных, например: constexpr int transform(int val) { return (val...

20
Передача аргументов как ссылок на const преждевременная оптимизация?

«Преждевременная оптимизация - корень всего зла» Я думаю, что с этим мы все можем согласиться. И я очень стараюсь избегать этого. Но в последнее время меня интересует практика передачи параметров по константной ссылке, а не по значению . Меня учили / учили, что аргументы нетривиальных функций (то...

20
Мотивация и подводные камни (?) Ключевого слова auto в C ++ 11

Недавно я задавался вопросом, почему ключевое слово autoбыло выбрано в C ++ 11 для обозначения переменной, тип которой должен выводиться компилятором, как в auto x = 1; поскольку var кажется более распространенным в других языках программирования (например, C #, Scala, JavaScript), и Насколько я...

16
Есть ли какое-то преимущество в манипулировании битами в стиле c по сравнению с std :: bitset?

Я работаю почти исключительно в C ++ 11/14, и обычно сжимаюсь, когда вижу такой код: std::int64_t mArray; mArray |= someMask << 1; Это всего лишь пример; Я говорю о побитовой манипуляции в целом. В C ++ есть ли смысл? Вышесказанное искажает сознание и подвержено ошибкам, а использование...