C++の配列は実際の型ではなく、一連の値の構造化された表現であり、どこからでも(ポインタが崩壊する)見つかるはずのポインタではありません。あなたは、割り当てを含む他のタイプを使うようにそれらを使うことはできません。選択肢は、配列のサポートをたくさん追加するか、可能な限りシンプルかつ高速に保つことでした。後者が選択されました。これは、C++が他の言語と区別している点の1つです。
アレイをコピーするには、各要素を1つずつコピーします。
C++ 11には、STLコンテナstd::array
があります。これは、演算子のオーバーロードを伴う単純な配列として、またSTLの残りの部分に関連するように設計されています。
より良い代替品はstd::string
です。これは、あなたが望むような振る舞いを取り入れ、特に文字の配列を保持するために設計されています。
"hi"は、Konrad Rudolphが指摘するように、const char [3]
です。
cin
生アレイの場合、配列のあるcin
には過負荷がないため、標準的な方法では不可能です。あなた自身の過負荷を作成することは可能です。しかし、生の配列ではなくサイズを知っているコンテナに対して定義しない限り、渡される配列のサイズがどう違うかはわかりません。
さらに良い方法は 'std :: string'です。 – Cornstalks
おっと、それは文字の配列だったのを忘れてしまった^ _^ – chris
私は本当にこの概念を理解しようとしているbest.imを探していない本当にありがとう。私は本当にプログラミングで知っていますが、このCスタイルの文字列を使用しません。 –