回答編集履歴

1

string_view

2018/10/24 15:33

投稿

yumetodo
yumetodo

スコア5850

test CHANGED
@@ -1 +1,5 @@
1
1
  NULL終端を要求する関数に終端しないメモリー領域へのポインタを渡すのは、範囲外アクセスを招き、未定義動作を引き起こします。やめましょう。
2
+
3
+
4
+
5
+ Cでは文字列といえばNULL終端するbyte列のことですが、NULL終端しない文字列を扱いたいときは、別途長さを管理するようにしましょう。C++17のstd::string_viewは文字列先頭へのポインタと長さを管理する構造体のような構造になっており、いい例でしょう。