/
BirdLeon
/
ROBLOX2016
Обзор
Документация
Войти
/
BirdLeon
/
ROBLOX2016
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
Library/boost/doc/test/array2.xml
80 строк
3 KB
PatoFlamejanteTV
full source code
19 дек 2024, 19:11
19 дек 2024, 19:11
05db15d
Код
Авторство
О чём код?
<section id="array.rationale"> <title>Design Rationale</title> <para> There was an important design tradeoff regarding the constructors: We could implement array as an "aggregate" (see Section 8.5.1, [dcl.init.aggr], of the C++ Standard). This would mean: <itemizedlist> <listitem> <simpara> An array can be initialized with a brace-enclosing, comma-separated list of initializers for the elements of the container, written in increasing subscript order: </simpara> <programlisting> <classname>boost::array</classname><int,4> a = { { 1, 2, 3 } }; </programlisting> <simpara> Note that if there are fewer elements in the initializer list, then each remaining element gets default-initialized (thus, it has a defined value). </simpara> </listitem> </itemizedlist> </para> <para> However, this approach has its drawbacks: <emphasis role="bold"> passing no initializer list means that the elements have an indetermined initial value </emphasis>, because the rule says that aggregates may have: <itemizedlist> <listitem> <simpara>No user-declared constructors.</simpara> </listitem> <listitem> <simpara>No private or protected non-static data members.</simpara> </listitem> <listitem> <simpara>No base classes.</simpara> </listitem> <listitem> <simpara>No virtual functions.</simpara> </listitem> </itemizedlist> </para> <para>Nevertheless, The current implementation uses this approach.</para> <para> Note that for standard conforming compilers it is possible to use fewer braces (according to 8.5.1 (11) of the Standard). That is, you can initialize an array as follows: </para> <programlisting> <classname>boost::array</classname><int,4> a = { 1, 2, 3 }; </programlisting> <para> I'd appreciate any constructive feedback. <emphasis role="bold"> Please note: I don't have time to read all boost mails. Thus, to make sure that feedback arrives to me, please send me a copy of each mail regarding this class. </emphasis> </para> <para> The code is provided "as is" without expressed or implied warranty. </para> </section>