Вопросы по теме 'c++14'
Будет ли работать автоматический вывод возвращаемого типа для main?
Смогу ли я сделать следующее для основной функции в С++ 1y (С++ 14):
auto main()
{
// ...
}
Так будет ли возвращаемый тип автоматически int , даже если нам не нужно использовать явный return 0; ?
903 просмотров
schedule
08.11.2022
init-capture для ссылки на rvalue в Visual Studio 2013
Я хочу использовать System.Threading.Tasks.Task.ContinueWith .net в C++, поэтому я пишу следующую функцию.
#include <iostream>
#include <functional>
#include <future>
template <typename Func, typename Ret>
auto...
979 просмотров
schedule
30.01.2024
В чем разница между оператором запятой и разделителем запятой?
В C++ маркер запятой (т. е. , ) интерпретируется либо как оператор-запятая , либо как разделитель-запятая .
Однако при поиске в сети я понял, что не совсем понятно, в каких случаях токен , интерпретируется как оператор двоичной запятой, а...
858 просмотров
schedule
01.12.2022
Следует ли избегать main с завершающим возвращаемым типом?
В приведенном ниже примере кода функция main написана с нотацией замыкающего возвращаемого типа C++11:
auto main() -> int {
//...
return 0;
}
Вопрос:
Есть ли причины, по которым следует избегать main с конечным типом возврата...
957 просмотров
schedule
27.04.2024
С++ 11 вариативное программирование, как определить башню векторов
Как (если возможно) я могу использовать вариативное программирование С++ 11 для определения серии vector в теле функции (или, другими словами, последовательности N -мерных массивов с уменьшением N до 0), как переменные ниже?...
1393 просмотров
schedule
15.12.2023
Неизменный характер initializer_list приводит к чрезмерному копированию
Почему доступ к std::initializer_list не позволяет нам изменять его содержимое? Это большой недостаток std::initializer_list при использовании его по его основному назначению (для инициализации контейнера), поскольку его использование приводит к...
350 просмотров
schedule
18.03.2024
Нужно ли сочетать std::move с std::forward при использовании ссылок переадресации?
Нужно ли объединять std::move с std::forward при использовании универсальных ссылок? Например, какой из следующих двух фрагментов кода правильный?
void bar(auto && x) {
auto y(std::move(std::forward<decltype(x)>(x)));
}
or...
162 просмотров
schedule
17.09.2022
Наследование конструктора и предоставление новой перегрузки: базовый конструктор без аргументов, похоже, не участвует в разрешении перегрузки
Тесты показывают странное поведение ( c++14 , g++ 4.9.1 , clang 3.5.5 ):
Подвести итог:
если B не предоставляет других конструкторов, он может использовать A::A()
если B предоставляет другие конструкторы, он не может использовать...
79 просмотров
schedule
17.09.2022
Создание неинициализированного массива элементов с конструкторами по умолчанию?
Учитывая класс Foo , который имеет некоторый конструктор по умолчанию, инициализирующий значение:
class Foo {
private:
uint32_t x;
public:
constexpr Foo()
: x { 3 }
{}
// ... and some other constructors
};
Мне нужно...
1059 просмотров
schedule
15.01.2024
Переключение между массивом структур (AoS) и структурой массивов (SoA)
Одна особенность, которая играет заметную роль во многих работах по проектированию, ориентированному на данные, заключается в том, что во многих случаях вместо AoS (массива структур):
struct C_AoS {
int foo;
double bar;
};...
1219 просмотров
schedule
27.11.2023
По умолчанию, значение и нулевой беспорядок инициализации
Я очень запутался в инициализации значений, значений по умолчанию и нуля. и особенно когда они вступают в силу для различных стандартов C ++ 03 и C ++ 11 (и C ++ 14 ).
Я цитирую и пытаюсь дать действительно хороший ответ Value- / Default- /...
14937 просмотров
schedule
14.06.2024
Ошибка компоновщика с шаблонами переменных
Рассмотрим код ниже:
#include <iostream>
template<typename T>
T n;
int main()
{
n<int> = 42;
std::cout << n<int> << std::endl;
}
Он компилирует и связывает с g++5.1 и отображает 42 . Однако...
175 просмотров
schedule
04.12.2022
constexpr конструктор и функции
У меня есть класс encrypted_string, который должен шифровать строки во время компиляции. Проблема, с которой я столкнулся, заключается в том, что я не могу вызвать функцию-член encrypt в конструкторе, но если я помещаю шифрование в сам конструктор,...
3897 просмотров
schedule
07.10.2022
конструкция объекта: параметр по умолчанию против делегирования
Рассмотрим следующий код, в котором я пытаюсь ввести конструктор по умолчанию, а также параметризованный конструктор для class A . Этот способ был представлен в недавних улучшениях С++.
class A {
private:
unsigned int count;...
818 просмотров
schedule
24.04.2024
Использование оператора noexcept для цепочки объявлений noexcept
Почему оператор noexcept принимает выражение, а не сигнатуру/декларацию функции?
Рассмотрим следующий фиктивный пример:
#include <string>
void strProcessor(const std::string& str) noexcept(true) { };
struct Type{
void method1()...
574 просмотров
schedule
21.09.2022
Объединение несовпадающих строк РАБОТАЕТ в VC2015 — как?
Когда у нас есть что-то из этого:
auto city1 = "New " L"Delhi";
auto city2 = L"New " "York";
Любой компилятор до VS2015 вызовет ошибку:
ошибка C2308: объединение несовпадающих строк
Но с компилятором VC2015 он хорошо...
1547 просмотров
schedule
05.03.2024
Создать контекст OpenGL только с помощью XCB
Я хочу создать контекст OpenGL только с XCB без GLX и Xlib. Не могли бы вы сказать мне, что могло бы случиться. Большое спасибо.
1925 просмотров
schedule
05.01.2024
Каковы хорошие способы избежать копирования, если вызывающая сторона метода не нуждается в владении данными?
Вот проблема, о которой я думал в последнее время. Допустим, наш интерфейс является функцией-членом, которая возвращает объект, который дорого копировать и дешево перемещать (std::string, std::vector и так далее). Некоторые реализации могут...
193 просмотров
schedule
02.12.2022
Типобезопасный метод для получения данных неизвестного типа через интерфейс
Версия TL;DR:
Я разрабатываю класс на С++ 14, чтобы он был универсальным. Ниже я описываю проблему дизайна, и я был бы признателен за решение для реализации того, что я пытаюсь, или предложение по редизайну.
Скажем, класс, который я...
425 просмотров
schedule
10.02.2024
В чем причина сноски 37 в 3.7.4.2 [basic.stc.dynamic.deallocation]/2 в С++ 14?
§3.7.4.2/2 содержит следующие предложения:
Глобальная operator delete ровно с двумя параметрами, второй из которых имеет тип std::size_t , является обычной функцией освобождения памяти. Точно так же глобальная operator delete[] с ровно...
155 просмотров
schedule
14.12.2023