C++で慣れないと冗長になるSTD::
を省略するおまじないとして覚えたusing namespace std;
ですが、
どこかで使わないほうが良いと見たことがありそれ以降意識してusing namespace std;
を使わないようにしていました。
うろ覚えなので何故使わないほうが良いと思ったのかの理由も忘れてしまっているので再確認したいと思いました。
ネットで検索したコードなどではusing namespace std;
を使っているケースが思ったよりも多いので迷っています。
個人的にはvectorの2次元配列などをよく使うので長ったらしいなとは思っていました。
使う環境や制限や個人で使ってる分には好みでどちらでも良いなどの回答になると思いますが後学の為に
「一般的にはどういう扱い」なのか、
「そんなの実務では使わないのが常識だよ」などの温度感が知りたいなと思いました。
※漠然とした質問で恐縮ですがご意見やアドバイスをお聞かせください。
using namespace std;
あり
C++
1#include <bits/stdc++.h> 2#define rep(i, m, n) for (int i = m; i < n; ++i) 3 4using namespace std; 5 6int main() { 7 cin.tie(0); 8 ios::sync_with_stdio(false); 9 10 unsigned N, M; 11 vector<vector<unsigned>> vec(N, vector<unsigned>(M, 0)); 12 cin >> N >> M; 13 rep(i, 0, N) { 14 rep(j, 0, N) { cin >> vec[i][j]; } 15 } 16 17 getchar(); 18 return 0; 19}
using namespace std;
なし
C++
1#include <bits/stdc++.h> 2#define rep(i, m, n) for (int i = m; i < n; ++i) 3 4int main() { 5 std::cin.tie(0); 6 std::ios::sync_with_stdio(false); 7 8 unsigned N, M; 9 std::vector<std::vector<unsigned>> vec(N, std::vector<unsigned>(M, 0)); 10 std::cin >> N >> M; 11 rep(i, 0, N) { 12 rep(j, 0, N) { 13 std::cin >> vec[i][j]; 14 } 15 } 16 17 getchar(); 18 return 0; 19}
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/08/24 05:42 編集
2020/08/24 06:54
2020/08/24 07:09 編集
2020/08/24 09:02