2つのストリングS1 = "zzzzabra"
とS2 = "abracadabra"
があるとします。C++サブストリングのアドレスを取得する
例えば、S1[4:8]
がS2
の接頭辞であることを知りたいと思います。
私はちょうどサブストリングS1.substr(4,4)
を得て、いくつかのプレフィックステスト関数に渡すことができます。
しかし、私は文字列を変更しないので、コピーを渡すのは好きではなく、開始する場所のアドレスだけを渡したいと思います。
可能ですか?たとえば、ある比較機能がある場合、S1[4:8]
の接頭辞がS2
かどうかを確認するにはどうすればいいですか?
私はこの比較作業を何度もやりますが、私は不要なコピーで時間を無駄にしてはいけないと思います。また、コードをきれいにしたいので、最初はこのトリックを行うために関数に多くのパラメータを入れたくありません。
あなたはそれが始まる場所へのポインタを渡すことができます何通りの文字があるのでしょうか。 – SenselessCoder
ええ、私が言ったように、最初は2つのパラメータがあればそれがほしいと思っています...この方法でこのトリックをすることができないなら、それにいくつかのパラメータ – Daniel
@ダニエル: 2つのパラメータだけが必要な場合、関数はどのように4または8を知るべきですか?または、関数内で4と8をハードコーディングしますか? –