<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # array std::array是一個支持隨機訪問且大小(size)固定的容器(譯注:可以認為是一個緊縮版的vector吧)。它有如下特點: * 不預留多余空間,只分配必須空間(譯注:size() == capacity())。 * 可以使用初始化表(initializer list)的方式進行初始化。 * 保存了自己的size信息。 * 不支持隱式指針類型轉換。 換句話說,可以認為它是一個很不錯的內建數組類型。一些代碼片段: ``` array<int,6> a = { 1, 2, 3 }; a[3]=4; int x = a[5]; // array的默認數據元素為0,所以x的值變成0 int* p1 = a; // 錯誤: std::array不能隱式地轉換為指針 int* p2 = a.data(); // 正確,data()得到指向第一個元素的指針 ``` 不過要注意:是可以定義一個長度為0的array的;但是無法從初始化表中推導出size信息: ``` array<int> a3 = { 1, 2, 3 }; //錯誤:沒有size信息 array<int,0> a0; // 正確: 沒有任何元素 int* p = a0.data(); // 為定義行為,不要這樣做 ``` array非常適合在嵌入式系統(和有類似限制/性能敏感/安全關鍵系統等)中使用。它提供了序列型容器該有的大部分通用函數(和vector很像): ``` template<class C> C::value_type sum(const C& a) { return accumulate(a.begin(),a.end(),0); } array<int,10> a10; array<double,1000> a1000; vector<int> v; // … int x1 = sum(a10); int x2 = sum(a1000); int x3 = sum(v); ``` 但是,它是不支持由子類到基類的自動類型轉換的(注意這個潛在陷阱): ``` struct Apple : Fruit { /* … */ }; struct Pear : Fruit { /* … */ }; void nasty(array<fruit *,10>& f) { f[7] = new Pear(); }; array<apple ,10> apples; // … nasty(apples); // 錯誤: 不能將array轉換為array; ``` 如果支持這種轉換的話,apple array中就能放pear啦。 參考: * Standard: 23.3.1 Class template array (翻譯:interma)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看