文字列の一部を返す関数を書くときには、戻り値に引数のconst値を使用すると便利です。のconst
を定義するには、引数のconst
値を使用する機能を持っているように、Cのポータブルな方法があります関数に戻り値として使用される引数 'const'を使用するポータブルな方法はありますか?
extern "C++"
{
extern char *strrchr (char *__s, int __c)
__THROW __asm ("strrchr") __attribute_pure__ __nonnull ((1));
extern const char *strrchr (const char *__s, int __c)
__THROW __asm ("strrchr") __attribute_pure__ __nonnull ((1));
....
:
は、例えばC++や__asm
を使用して、GNUのlibcにstrstr
を取ります戻り値?
注意、もちろんそのことは常に可能代わりに、文字列の回避策として、自己のオフセット戻ります。
まあ、その例はC++です... C++には関数のオーバーロードがあります。 – Lundin
ですが、質問はCについてですが、これを明確にするために編集した質問です。 – ideasman42
@LundinはC11の良い答えですが、C言語の文字列リテラルはconst修飾されていないので、あなたには役に立ちません。 –