Skip to content

Commit

Permalink
Site updated: 2017-05-18 23:50:40
Browse files Browse the repository at this point in the history
  • Loading branch information
Fydui committed May 18, 2017
1 parent 8177b6f commit dc24f30
Show file tree
Hide file tree
Showing 3 changed files with 6 additions and 2 deletions.
4 changes: 3 additions & 1 deletion 2017/05/17/C++笔记-C++11的一些新标准/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
<meta property="og:site_name" content="果冻の随笔">
<meta property="og:description" content="一些C艹11的新标准…反正都是些泥萌大家都知道的过时东西;
initializer_list  C++11提供了模板类initializer_list,可将其作用于参数,如果类有接受initializer+list作为参数的构造函数,则初始化列表就语法只能用于该构造函数,且列表中的元素必须是同一种类型或可以转换为同一种类型;这个类包含了成员函数begin()和end()用于获得列表范围;1">
<meta property="og:updated_time" content="2017-05-17T15:48:24.213Z">
<meta property="og:updated_time" content="2017-05-18T15:49:48.114Z">
<meta name="twitter:card" content="summary">
<meta name="twitter:title" content="C++笔记-C++11的一些新标准">
<meta name="twitter:description" content="一些C艹11的新标准…反正都是些泥萌大家都知道的过时东西;
Expand Down Expand Up @@ -178,6 +178,8 @@ <h3 id="返回类型后置"><a href="#返回类型后置" class="headerlink" tit
  </p>
<h3 id="模板别名-using"><a href="#模板别名-using" class="headerlink" title="模板别名: using ="></a>模板别名: using =</h3><p>  他能够创建模板别名,和typedef不同的是,他可以用于模板部分具体化:<br><figure class="highlight plain"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div></pre></td><td class="code"><pre><div class="line">template &lt;typename T&gt; using arr = std::array&lt;T,12&gt;;//上述具体化模板array&lt;T,int&gt; 将int设置为12</div><div class="line">array&lt;int,12&gt; a1; //于是这句话可以替换为:</div><div class="line">arr&lt;int&gt; a1; //替换为这句;</div></pre></td></tr></table></figure></p>
<h3 id="作用域内枚举"><a href="#作用域内枚举" class="headerlink" title="作用域内枚举"></a>作用域内枚举</h3><p>  传统的C++枚举提供了一种创建名称常量的方式; 但如果在同一个作用域内定义两个枚举,则他们不能重名;C++11新增了一种枚举解决了这些问题,这种枚举使用class或struct定义:<br><figure class="highlight plain"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div></pre></td><td class="code"><pre><div class="line">enum class NEW1&#123;never,sometimes,often&#125;;</div><div class="line">enum struct NEW2&#123;never,lever,server&#125;;</div></pre></td></tr></table></figure></p>
<h3 id="基于范围的for循环"><a href="#基于范围的for循环" class="headerlink" title="基于范围的for循环"></a>基于范围的for循环</h3><p>  对于内置数组以及包含方法begin()和end(0的类,可以使用基于范围的for循环来简化编程工作;<br><figure class="highlight plain"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div></pre></td><td class="code"><pre><div class="line">double prices[5] = &#123;4.99,10.99,6.87,7.99,8.49&#125;</div><div class="line">for(auto x : prices)</div><div class="line"> cout &lt;&lt; x &lt;&lt; endl;</div></pre></td></tr></table></figure></p>
<p>  x将以此为prices中1的每个元素的值,x的类型应与数组元素的类型匹配; 吐过想修改数组或容器里的元素可以使用引用:<br><figure class="highlight plain"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div></pre></td><td class="code"><pre><div class="line">vector&lt;int&gt; vi(6)</div><div class="line">for(auto &amp;x : vi)</div><div class="line"> x = rand();;</div></pre></td></tr></table></figure></p>



Expand Down
2 changes: 1 addition & 1 deletion content.json

Large diffs are not rendered by default.

2 changes: 2 additions & 0 deletions index.html
Original file line number Diff line number Diff line change
Expand Up @@ -173,6 +173,8 @@ <h3 id="返回类型后置"><a href="#返回类型后置" class="headerlink" tit
  </p>
<h3 id="模板别名-using"><a href="#模板别名-using" class="headerlink" title="模板别名: using ="></a>模板别名: using =</h3><p>  他能够创建模板别名,和typedef不同的是,他可以用于模板部分具体化:<br><figure class="highlight plain"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div></pre></td><td class="code"><pre><div class="line">template &lt;typename T&gt; using arr = std::array&lt;T,12&gt;;//上述具体化模板array&lt;T,int&gt; 将int设置为12</div><div class="line">array&lt;int,12&gt; a1; //于是这句话可以替换为:</div><div class="line">arr&lt;int&gt; a1; //替换为这句;</div></pre></td></tr></table></figure></p>
<h3 id="作用域内枚举"><a href="#作用域内枚举" class="headerlink" title="作用域内枚举"></a>作用域内枚举</h3><p>  传统的C++枚举提供了一种创建名称常量的方式; 但如果在同一个作用域内定义两个枚举,则他们不能重名;C++11新增了一种枚举解决了这些问题,这种枚举使用class或struct定义:<br><figure class="highlight plain"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div></pre></td><td class="code"><pre><div class="line">enum class NEW1&#123;never,sometimes,often&#125;;</div><div class="line">enum struct NEW2&#123;never,lever,server&#125;;</div></pre></td></tr></table></figure></p>
<h3 id="基于范围的for循环"><a href="#基于范围的for循环" class="headerlink" title="基于范围的for循环"></a>基于范围的for循环</h3><p>  对于内置数组以及包含方法begin()和end(0的类,可以使用基于范围的for循环来简化编程工作;<br><figure class="highlight plain"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div></pre></td><td class="code"><pre><div class="line">double prices[5] = &#123;4.99,10.99,6.87,7.99,8.49&#125;</div><div class="line">for(auto x : prices)</div><div class="line"> cout &lt;&lt; x &lt;&lt; endl;</div></pre></td></tr></table></figure></p>
<p>  x将以此为prices中1的每个元素的值,x的类型应与数组元素的类型匹配; 吐过想修改数组或容器里的元素可以使用引用:<br><figure class="highlight plain"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div></pre></td><td class="code"><pre><div class="line">vector&lt;int&gt; vi(6)</div><div class="line">for(auto &amp;x : vi)</div><div class="line"> x = rand();;</div></pre></td></tr></table></figure></p>



Expand Down

0 comments on commit dc24f30

Please sign in to comment.