2017-05-05 5 views
0

はのは、私はこのような新しいタイプを作成しましょう:C++新しいタイプの初期化

typedef std::pair<int, int> location; 

次に、どのように私は新しい場所を定義していますか? 私は今、このようにそれを実行します。

location end; 
end.first = 1; 
end.second = 2; 

しかし、より高速な方法はありますか?

感謝:D

+1

あなたがしているの実際には追加しない「カスタム変数」が新しいタイプです。 – MrJLP

+0

ああ、私の悪い、申し訳ありませんが、このwednesday笑のようなC + +を開始しました。注目:D – Legend

+1

@MrJLP新しいタイプは新しいタイプではなく、同じタイプではないタイプエイリアスです。 – Rakete1111

答えて

1

あなたは集計の初期化に使用することができます

location end = { 1, 2 }; 

またはstd::make_pair

auto end = std::make_pair(1, 2); 

か、直接コンストラクタを呼び出す:

location end(1, 2); 
+0

ありがとうございます。D – Legend

+2

質問を再読しました。 'typedef'を使うことは新しい型を定義するのではなく、既存の型の新しい名前(エイリアス)を定義します。別名が参照する型のオブジェクトを構築または初期化するのと同じ方法で、別名によって定義された型のオブジェクトを構築または初期化します。 –

+0

ああ大丈夫、それは基本的に私がとにかくここにいたものです:P – Legend