abcd0x00: Да, это может быть указатель на 1 отдельно стоящий символ. Но в 99% случаев это всё же указатель на строку. С большой вероятностью автор вопроса просто интересовался, что означает char**argv. Я попытался дать простой ответ, без рассмотрения слишком большого числа вариантов.
Antony: strlen говорит об объёме памяти, занимаемом строкой, но никак не соотносится с числом UTF-8 символов (extended grapheme cluster), которые содержатся в строке.Чтобы получить длину UTF-8 строки, нужно использовать сторонние библиотеки.
Sh0ttky: Заняло немало времени, чтобы на самом деле в этом разобраться. Во-первых, в C++14 у класса std::array нет constexpr operator[], хотя мог бы быть! Пришлось велосипедить с функцией at. Во-вторых, VS2015 и VS2017 падают при попытке скомпилировать этот код. На лицо баг. Оба этих ограничения добавлю в ответ.
Sh0ttky: Комментарий некорректен. В C++14 возможности constexpr расширены, теперь там разрешено всё, кроме: virtual, asm, goto, try-catch, static vars. Плюс, можно работать только с literal types.
Это хороший подход, только, во-первых, тогда придётся ещё подключить какую-нибудь либу для UTF-8 в std::string, из коробки не работает. Во-вторых, именно под Windows придётся ещё помучиться с консольным вводом-выводом, так как по факту он идёт в wchar_t, который как UTF-16, только не поддерживает символы >65535. Здесь можно нагуглить какую-нибудь utf8_to_wchar.
Adamos: Нужно тестировать. std::array - это агрегатный тип из int, так что теоретически может загнать в .rodata. А вот в .data загнать обязан: static const же. Напомню, что это не std::vector, а просто блок из 50 int-ов.
hauptling: Увы, он так делать не умеет. Хотя все будет работать, если перед каждой индексацией делать так:
if (k >= vBottle.size()) { vBottle.resize(k + 1); }
vBottle[k].SetVector(5);
Напишите в целом, какую задачу, связанную с vector, выполняет ваша программа, и можно будет более точно помочь. Возможно, итераторы тут вообще не нужны.
Евгений Шатунов: Каюсь. Я всегда говорил о [this], как о захвате по ссылке, особенно в свете того, что [&this] нет. Но со стандартом не поспоришь, исправил.
Евгений Шатунов: Указатель this-то захватится по значению, но если речь идёт о самом текущем объекте *this, то он захватится по ссылке (копии не будет). В C++17 появился "настоящий" захват *this по значению: [*this]