###知りたいこと
配列の要素数の取得方法
下記コードで期待の要素数より少なくなってしまう原因
他言語でしたらlen(配列変数名)などですぐに求められるので初歩的なところで戸惑っています。
###状況
配列の要素数を取得してループさせたいのですが何故か少なくなってしまいます。
for-each文で書いたら正しく出るので原因がわかりません。
C++
1#include <cstdio> //必須 2#include <vector> //std::vectorで必須 3#include <iostream> //必須 4using namespace std;//名前空間指定 5 6int main() 7{ 8 std::vector<int> a{1, 2, 3, 4, 5}; 9 10 cout << sizeof(a) << " "; 11 cout << sizeof(a[0]) << " "; 12 cout << (sizeof(a) / sizeof(a[0])) << endl; 13 int n = (sizeof(a) / sizeof(a[0])); 14 15 for(int i = 0;i<n;i++){ 16 cout << a[i] << " "; 17 } 18 cout << endl; 19 return 0; 20}
現状
12 4 3 1 2 3
期待する結果
20 4 5 1 2 3 4 5
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/10/18 09:45