Как сказал Сумант, многомерные массивы намного проще использовать со встроенными C-массивами, чем с std::array
.
Когда вложенный, std::array
может стать очень трудным для чтения и излишне подробным.
Например:
std::array, 3> arr1;
по сравнению с
char c_arr[3][3];
Также обратите внимание, что begin()
, end()
и size()
все возвращают бессмысленные значения, когда вы гнездо std::array
.
По этим причинам я создал свои собственные контейнеры многомерного массива фиксированного размера array_2d
и array_3d
. Они аналогичны std::array
, но для многомерных массивов 2 и 3 измерений. Они более безопасны и имеют худшую производительность, чем встроенные многомерные массивы. Я не включил контейнер для многомерных массивов с размерами больше 3, поскольку они являются необычными. В C ++ 0x может быть выполнена версия вариационного шаблона, которая поддерживает произвольное количество измерений.
Пример двумерного варианта:
//Create an array 3 x 5 (Notice the extra pair of braces)
fsma::array_2d my2darr = {{
{ 32.19, 47.29, 31.99, 19.11, 11.19},
{ 11.29, 22.49, 33.47, 17.29, 5.01 },
{ 41.97, 22.09, 9.76, 22.55, 6.22 }
}};
Полная документация доступна здесь:
http: //fsma.googlecode. com / files / fsma.html
Вы можете скачать библиотеку здесь:
я не означаю/хочу обсуждать альтернативы, просто если возможно показать фактические Символы табуляции в непосредственном окне.
ответ нет.
Представление Непосредственного Окна chr(9)
или vbTab
является 4 пробелами. Можно проверить это путем печати chr(9)
или vbTab
, нажатия в Непосредственное Окно и нажатия Backspace и затем ввода нескольких пробелов и нажатия Backspace.
нет никакого способа изменить это, насколько я знаю.