C++17 からの string_view は substr の代わりに2021年06月01日 12時19分02秒

C++ から導入された std::string_view は文字列の一部を参照するクラス。string::substr() 等では、別途メモリを割り当てるが、string_view は割り当てられているメモリをそのまま利用する。詳細は Boost.勉強会 #21 札幌「C++1zにstring_viewが導入されてうれしいので紹介します」 が分かりやすい。

そんな分けで簡単な例。

% cat string_view.cpp
#include <string>
#include <string_view>
#include <iostream>

int main()
{   
    std::string s( "Hello C++" );
    char ch[] = "Hello C++";

    std::string_view s1( &s[ 0 ], 6 );
    std::string_view s2( ch + 6, 3 );

    std::cout << s1 << std::endl;
    std::cout << s2 << std::endl;
}
実行結果。
% c++ -std=c++17 string_view.cpp
% ./a.out 
Hello 
C++

コメント

コメントをどうぞ

※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。

※なお、送られたコメントはブログの管理者が確認するまで公開されません。

名前:
メールアドレス:
URL:
コメント:

トラックバック

このエントリのトラックバックURL: http://uyota.asablo.jp/blog/2021/06/01/9383414/tb

※なお、送られたトラックバックはブログの管理者が確認するまで公開されません。