エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
Uniform initialization で困るパターン(std::string) - はやくプログラムになりたい
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
Uniform initialization で困るパターン(std::string) - はやくプログラムになりたい
C++11 で,() でなく {} で初期化する統一初期化(Uniform initialization)が入った.普段はこれを使っ... C++11 で,() でなく {} で初期化する統一初期化(Uniform initialization)が入った.普段はこれを使っているけれど,この間これで std::string でハマったのでメモ. std::string のコンストラクタの中には,char 型の値を一定回数繰り返すコンストラクタがある. basic_string( size_type count, CharT ch, const Allocator& alloc = Allocator() ); これを使おうとして std::string{3, 'a'} などと書こうとすると,narrow conversion でコンパイラに怒られる.原因は,統一初期化だと次のコンストラクタが優先して使われてしまうからっぽい. basic_string( std::initializer_list<CharT> init, con