Описание тега stdarray

NoneStd::array - это контейнер, который инкапсулирует массивы постоянного размера в C++.
0 ответов

3d std::array в C++

Я рано в C++. Я хочу определить 3d std::array в с ++. когда я определяю массив ниже: std::array<std::array<std::array<double,3>,4>, 4> DownSide = { {{0,0.51,0.35},{0,0.51,0.35},{0,0.51,0.35},{0,0.51,0.35}}, {{0,0.51,0.35},{0,0.51,0…
26 апр '17 в 08:14
0 ответов

Передача 2d std::array в функцию C++

Я пытаюсь передать в конструктор класса 2d массив std::array<std::array<int, dimension>, dimension> Я делаю поиск, и я пытался использовать шаблон.. Но не работает Но мой код выдает следующую ошибку: Undefined symbols for architecture x8…
1 ответ

Можно ли определить количество элементов члена класса std::array во время создания объекта?

Я хочу написать класс, чьи объекты будут строковыми таблицами с фиксированным числом столбцов. Поскольку количество столбцов будет оставаться неизменным в течение всего времени существования объекта, я решил объявить каждый объект строки из std::arr…
01 авг '13 в 20:31
2 ответа

Обфусцировать std::array используя constexpr

Я ищу небольшую функцию, которая может преобразовать std::array добавляя увеличивающиеся значения. Функция должна быть функцией времени компиляции. Мне удалось написать небольшую функцию constexpr, которая делает это для массива длиной 3, но я не см…
2 ответа

Почему постоянные переменные иногда не рассматриваются как постоянные времени компиляции

Я пытался выполнить два разных сценария: Сценарий 1: const auto arraySize = 10; // fine, arraySize is constant std::array<int, arraySize> data; Здесь arraySize обрабатывается как постоянная времени компиляции и, следовательно, она была разреше…
21 янв '16 в 09:35
2 ответа

Итератор массива не разыменованная ошибка

Существует пример кода, в котором возникает ошибка, как показано ниже. В режиме релиза он работает и печатает пять '-'. Однако в режиме отладки он не работает и возникает ошибка времени выполнения, которая является "итератором массива, не разыменова…
25 апр '16 в 04:10
3 ответа

Модульное тестирование CATCH для C++ сравнивает std::array

Мне нравится использовать catch для моих модульных тестов C++. Моя цель - сравнить std::array а также std::vector, Я создал этот неудачный пример. #define CATCH_CONFIG_MAIN #include "catch.hpp" TEST_CASE("Vector") { std::vector<double> directi…
2 ответа

Как использовать аргумент по умолчанию для std::array? "массив должен быть инициализирован инициализатором в скобках"

Мой конструктор занимает std::array, Я пытаюсь дать ему значение по умолчанию, но вызов конструктора без аргумента выдает эту ошибку: $ g++ -std=c++11 -Wall -Werror -Wextra -pedantic-errors test.cpp Position.cpp -o test test.cpp: In function ‘int ma…
03 окт '13 в 06:25
2 ответа

Ошибка компиляции с использованием EXPECT_NO_THROW от googletest с массивом std::

Я получил эту ошибку при попытке работать с std:: array в googletest. Ниже приведен минимальный пример этой ошибки: arr.cpp #include "gtest/gtest.h" #include <array> TEST(Test, Positive) { EXPECT_NO_THROW({ const std::array<unsigned char, 1…
16 янв '17 в 16:52
6 ответов

Передача std::array неизвестного размера в функцию

В C++11, как мне написать функцию (или метод), которая принимает массив std:: известного типа, но неизвестного размера? // made up example void mulArray(std::array<int, ?>& arr, const int multiplier) { for(auto& e : arr) { e *= multipl…
17 июн '13 в 20:29
1 ответ

Как Boost Program_Options может обрабатывать вектор массивов?

В моей программе мне нужно выполнить некоторые преобразования с помощью библиотеки Eigen. Поскольку я использую файл конфигурации для пользователя для настройки некоторых параметров, я ищу способ интегрировать преобразования в этот файл конфигурации…
2 ответа

Шаблонный класс в std::array

Можно ли добавить класс шаблона внутри std::array без указания имени типа? Я имею в виду. template<typename T> class MyClass { ... } std::array<MyClass *> arr; Причина в том, что у меня есть своего рода хранилище, которое принимает все к…
16 сен '14 в 21:24
3 ответа

Как заставить производный тип массива принимать агрегатную инициализацию?

Например class A : public std::array<int, 3> { }; А также A a{1, 2, 3}; // failed currently. Как заставить производный тип массива принимать агрегатную инициализацию?
14 июн '16 в 09:47
0 ответов

Инициализировать C++ std::array без длины

Если std::array определяется, мне нужно написать что-то вроде этого std::array<int,3> my_array {1,5,3}; В моем варианте это нарушает DRY принцип (не повторяйте себя), так как мне нужно явно указать длину массива, и она должна соответствовать д…
26 апр '18 в 14:46
2 ответа

Управление std::array в функции

У меня есть многомерный массив фиксированного размера в моем коде, и мне нужно иметь возможность изменять значения в нем в отдельной функции. Я хочу знать, передаются ли std:: массивы как ссылки в методе, или копия сделана? Так что я могу сделать эт…
31 авг '18 в 04:44
1 ответ

Безопасно ли получить доступ к данным std::array по адресу?

Я хотел бы использовать побитовое преобразование данных для объектов std::array, и для этого мне нужно знать, безопасно ли хранить адрес массива или есть функция, которая изменяет местоположение данных. Например: std::array<int, 100> array; in…
20 сен '16 в 14:02
1 ответ

Boost:: Spirit парсинг в структуру с помощью std::array

Я использую boost:: spirit для разбора текста в структуру, содержащую массив фиксированного размера. Следуя примеру в й / boost_array.cpp и пытаясь использовать его для разбора в структуру, содержащую std::array (или boost::array), я понял, что из-з…
23 дек '15 в 11:54
1 ответ

Ошибка компиляции: используйте constexpr для объявления размера std::array

Я учусь constexpr и, насколько я понимаю, constexpr говорит компилятору вычислять функции во время компиляции, а не во время выполнения. Я использовал следующий код для тестирования, но столкнулся с ошибкой, которую я действительно не понимаю. Не мо…
28 июн '17 в 18:41
2 ответа

Инициализировать карту с парой std::arrays C++11

Я хотел бы скомпилировать эти строки. Вставить на карту пару std:: массивов. #include<iostream> #include<map> #include<array> #include<utility> using namespace std; int main() { array<double, 8> l; array<double, 8&gt…
07 янв '16 в 23:45
1 ответ

Выгодно ли больше развертывать циклы в C++ поверх массивов фиксированного размера?

Я хочу использовать std::array хранить данные N-мерных векторов и реализовывать арифметические операции для таких векторов. Я понял, так как std::array теперь имеет constexpr size() функция-член, я могу использовать это, чтобы развернуть циклы, кото…
11 янв '19 в 14:26