###解決!
@LouiS0616さん回答より
std::cbegin
std::string src = "aabbcc"; std::count(src.cbegin(), src.cend(), 'a')
###質問の経緯や現状
・std::stringにcountがあると思ったら無いので調べるとstd::countでカウント出来そう
・std::countはコンテナ型に適用できる
・文字列を配列に変換する必要がありchar型が良さそうだけどコンテナじゃない
・char型をvectorに変換する必要がある
・以上のような経緯を踏まえて文字列に含まれる特定文字をカウントさせている
最適解が分からず現状サンプルコードのような処理をしています
###知りたいこと
サンプルコード中の
vector<char> v(src, src + sizeof(src));
src + sizeof(src)
これはどういう意味があるのでしょうか?(調べても理解に至りませんでした)
また、サンプルコードが最適解なのか他にもっとシンプルな定型の処理方法があるのかなども知りたいです。
###参考にしたリンクなど
std::count
sizeof演算子
C++
1#include <cstdio> 2#include <iostream> 3#include <vector> 4#include <algorithm> 5using namespace std; 6 7// サンプルコード 8// char配列srcに含まれる'a'を数える 9int main() 10{ 11 char src[] = "aabbcc"; 12 vector<char> v(src, src + sizeof(src)); 13 cout << count(v.begin(), v.end(), 'a'); 14 15 getchar(); 16 return 0; 17} 18 19// 出力結果 20// 2
###環境
※コンパイラはC++14です
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/10/22 13:22