タグ

2019年9月25日のブックマーク (2件)

  • Lisp/基本からさらに一歩進んで/文字列 - Wikibooks

    Common Lisp での文字列の扱いについて知らなければならない最も重要なことは、文字列は配列であり、したがって連続している順序でもあるということです。これは配列と順序に適用される全ての概念が文字列に利用することも出来る、ということを意味します。もし、特定の文字列操作関数が見つからなければ、必ずもっと一般的な配列か順序に関する関数を探した方がいいでしょう。ここでは文字列に対して出来ることをほんの少しだけ取り扱います。 部分文字列の取り出し[編集] 文字列は連続しているので、部分文字列を取り出すには SUBSEQ 関数を使用します。文字列の添え字(index)は常に 0 から始まります。三番目の引数は任意で、ここから部分文字列を構成しない最初の文字の添え字です。部分文字列の終端の1個後の添え字と憶えてもいいかもしれません。部分文字列の長さを指定するものではないので注意しましょう。 (de

    nfunato
    nfunato 2019/09/25
  • any - cpprefjp C++日本語リファレンス

    概要 anyクラスは、あらゆる型の値を保持できる記憶域型である。保持する値と型は動的に切り替えることができる。 std::any x = 3; // int型の値3で初期化 x = std::string("Hello"); // std::string型の値"Hello"を再代入 // 値を取り出す std::string s = std::any_cast<std::string>(x); assert(s == "Hello"); anyクラスは、古くからあったvoid*をより便利にし、オブジェクトの寿命管理と実行時型情報の機能が付加された型であると言える。 このクラスと同様のことは、たとえばstd::shared_ptr<void>でも行えるが、その場合はポインタの意味論で値を保持することになり、anyの場合は値の意味論で値を保持することになる。また、std::variantクラス

    nfunato
    nfunato 2019/09/25