Вопросы по теме 'stdarray'
В чем разница между std::valarray и std::array
valarray класс выглядит так же, как array класс, не могли бы вы объяснить мне, где я предпочитаю valarray array или наоборот?
7388 просмотров
schedule
24.07.2023
С++ 11 возвращает std::array разных размеров
Я хотел бы создать такую структуру:
struct Arrays{
typedef unsigned char byte_t;
std::array<byte_t, X>& get(int x, int y)
{
switch(x){
case 1: return arr_1.at(y);
case 2: return...
2461 просмотров
schedule
05.10.2022
Объявление и инициализация массива в C++11
Вот 8 способов объявить и инициализировать массивы в C++11, которые подходят для g++ :
/*0*/ std::array<int, 3> arr0({1, 2, 3});
/*1*/ std::array<int, 3> arr1({{1, 2, 3}});
/*2*/ std::array<int, 3> arr2{1, 2, 3};
/*3*/...
7506 просмотров
schedule
25.08.2023
Передать std::array в качестве ссылочного параметра
Я могу передать свой массив напрямую, но мне нужно знать, как передать его по ссылке. Я использую новый std::array с типом Element. Я пробовал несколько вещей, но они не работают. Я не уверен, как передать это как ссылку. Я запутался, и я не могу...
7464 просмотров
schedule
14.11.2022
Инициализировать std::array с подразумеваемой длиной
В C вы можете сделать int a[] = {1,2,3,4,5} , но C++11 std::array<int> a = {1,2,3,4,5} выдаст ошибку компиляции "слишком мало параметров шаблона". Как-нибудь обойти это?
199 просмотров
schedule
30.05.2022
Класс шаблона в std :: array
Можно ли добавить класс шаблона внутри std :: array без указания имени типа? Я имею в виду.
template<typename T>
class MyClass
{
...
}
std::array<MyClass *> arr;
Причина в том, что у меня есть своего рода хранилище, которое...
648 просмотров
schedule
01.04.2024
Как работает инициализатор std::array для char?
Я не уверен, как работает следующий код. Я думал, что вам нужно сделать {'h', 'e' ...etc...} , но, похоже, это работает нормально. С другой стороны, если вы сделаете std::array<const char* , он добавит только один элемент в массив. Существуют...
5053 просмотров
schedule
22.07.2023
Инициализация std::array с помощью std::initializer_list в списке инициализации конструктора
Рассмотрим следующий фрагмент кода:
struct foo {
std::vector<int> v;
foo(std::initializer_list<int> L) : v{L} {}
};
Приведенный выше код отлично компилируется и инициализирует v , как и ожидалось. Теперь рассмотрим следующий...
2334 просмотров
schedule
15.03.2024
В чем смысл .begin () и .end ()?
В каких случаях в массивах библиотеки C ++ полезно иметь функции-члены .begin() и .end() ?
На cplusplus.com пример использования - перебор массива:
for ( auto it = myarray.begin(); it != myarray.end(); ++it )
Но
for (int i = 0; i...
1683 просмотров
schedule
11.05.2022
Как инициализировать класс, например std::array
Я пытаюсь написать класс-контейнер для векторной арифметики. Объекты статичны по размеру:
template<typename T, unsigned N>
class vec{
T data[N] = {0};
public:
vec(std::initializer_list<T> ini){
std::copy(ini.begin(),...
158 просмотров
schedule
22.03.2023
std::array с агрегатной инициализацией на g++ генерирует огромный код
В g++ 4.9.2 и 5.3.1 этот код компилируется несколько секунд и создает исполняемый файл размером 52 776 байт:
#include <array>
#include <iostream>
int main()
{
constexpr std::size_t size = 4096;
struct S
{
float...
846 просмотров
schedule
10.07.2022
Агрегатная инициализация std::array подобъектов с вложенными списками инициализаторов
Каков правильный способ инициализации агрегатного типа (например, std::array ) и его подобъектов с помощью вложенных списков инициализаторов в фигурных скобках? Я не хочу напрямую вызывать конструкторы подтипов.
Это повторяющаяся проблема, и я...
155 просмотров
schedule
21.09.2022
Получить размер std::array без экземпляра
Учитывая эту структуру:
struct Foo {
std::array<int, 8> bar;
};
Как я могу получить количество элементов массива bar , если у меня нет экземпляра Foo ?
3932 просмотров
schedule
03.12.2022
Невозможно вывести параметр шаблона "N"
Я попытался свести это к минимуму:
#include <array>
template <std::size_t N>
void f(int, std::array<int, N> const & =
std::array<int, 0>()) {
}
int main() {
f(10);
}
array_test.cpp:4:6: примечание:...
255 просмотров
schedule
31.01.2023
Почему вывод класса шаблона С++ 17 не работает, когда я указываю некоторые параметры шаблона?
C++17 представил вывод аргументов шаблона класса . Хотя в большинстве случаев это не более чем синтаксический сахар, бывают случаи, когда он действительно приходит на помощь, особенно в общем коде, например в этом случае .
Еще одним хорошим...
819 просмотров
schedule
25.06.2022
Инициализация std::pair через std::initializer_list не работает при инициализации std::array?
Я хочу инициализировать std::array из std::pair через std::initializer_list .
pair<int, int> p = {3,4};//ok
array<pair<char,char>, 3> p = { make_pair('{','}'), make_pair('[',']'), make_pair('(',')') };//ok...
1901 просмотров
schedule
25.01.2023
Инициализировать std::array элементов, не конструируемых по умолчанию?
Предположим, тип foo_t с идиомой именованного конструктора make_foo() . Теперь я хочу иметь ровно 123 foo - ни больше, ни меньше. Итак, я думаю о std::array<foo_t, 123> . Теперь, если бы foo_t можно было построить по умолчанию, я бы...
813 просмотров
schedule
04.06.2022
Рассматривать простой старый массив данных как std::array
У нас есть большая база кода, в основном написанная на C . Мы много занимаемся числовой линейной алгеброй.
В C мы используем double* с длиной 3 для моделирования трехмерного вектора.
В C++ мы используем std:array<double,3> для...
322 просмотров
schedule
13.02.2024
Преобразование битовой маски uint64_t в std::array bool
Цель состоит в том, чтобы преобразовать std::uint64_t (который используется как битовая маска) в std::array<bool> .
Этот вопрос аналогичен вопросу С# Как можно Я конвертирую int в массив bool? , но для C++ ищу алгоритм с наилучшей...
273 просмотров
schedule
06.05.2023
Есть ли эквивалент std::memset для std::array?
Есть ли эквивалент memset для std::array ? Я думаю, что memset должен работать лучше при инициализации массива до нуля, чем при цикле по массиву. Я искал один для std::array , но ничего не смог найти в Интернете.
1496 просмотров
schedule
15.12.2023