「C++の基礎 - using」の版間の差分

ナビゲーションに移動 検索に移動
文字列「<source」を「<syntaxhighlight」に置換
(文字列「</source>」を「</syntaxhighlight>」に置換)
(文字列「<source」を「<syntaxhighlight」に置換)
10行目: 10行目:
using宣言(using declaration)によって、特定のメンバのみを取り込むことができる。<br>
using宣言(using declaration)によって、特定のメンバのみを取り込むことができる。<br>
クラススコープ以外の一般的なスコープで宣言が可能である。<br>
クラススコープ以外の一般的なスコープで宣言が可能である。<br>
  <source lang="c++">
  <syntaxhighlight lang="c++">
  using std::cout;
  using std::cout;
  using std::endl;
  using std::endl;
22行目: 22行目:
<br>
<br>
関数の場合も同じ記法を用いる。<br>
関数の場合も同じ記法を用いる。<br>
  <source lang="c++">
  <syntaxhighlight lang="c++">
  using std::max;
  using std::max;
  using std::sort;
  using std::sort;
29行目: 29行目:
<br>
<br>
std::stringクラスの場合も変数の時と同様の記法が使用できる。<br>
std::stringクラスの場合も変数の時と同様の記法が使用できる。<br>
  <source lang="c++">
  <syntaxhighlight lang="c++">
  using std::string;
  using std::string;
   
   
38行目: 38行目:
== エイリアス宣言 ==
== エイリアス宣言 ==
std::vector<std::string>等のテンプレートクラスの場合には、エイリアス宣言(alias declaration)による別名での宣言が必要となる。<br>
std::vector<std::string>等のテンプレートクラスの場合には、エイリアス宣言(alias declaration)による別名での宣言が必要となる。<br>
  <source lang="c++">
  <syntaxhighlight lang="c++">
  using String  = std::string;
  using String  = std::string;
  using strings = std::vector<std::string>;
  using strings = std::vector<std::string>;
48行目: 48行目:
== エイリアステンプレート ==
== エイリアステンプレート ==
エイリアステンプレート(alias templates)により、型指定が必要なテンプレートクラス(std::array<T>やunique_ptr<T>等)を別名で定義することもできる。<br>
エイリアステンプレート(alias templates)により、型指定が必要なテンプレートクラス(std::array<T>やunique_ptr<T>等)を別名で定義することもできる。<br>
  <source lang="c++">
  <syntaxhighlight lang="c++">
  template<typename T>
  template<typename T>
  using vector = std::vector<T>;
  using vector = std::vector<T>;
62行目: 62行目:
<br>
<br>
ただし、最も推奨するのは、必要になった時に局所的に定義する方法である。頻繁に使用しないクラスではこちらの方法がベストである。<br>
ただし、最も推奨するのは、必要になった時に局所的に定義する方法である。頻繁に使用しないクラスではこちらの方法がベストである。<br>
  <source lang="c++">
  <syntaxhighlight lang="c++">
  namespace mylib
  namespace mylib
  {
  {

案内メニュー