What is the best declaration type for a string like parameter?
tsbockman via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Thu Jan 28 15:21:58 PST 2016
On Thursday, 28 January 2016 at 17:32:31 UTC, Gary Willoughby
wrote:
> On Thursday, 28 January 2016 at 15:10:38 UTC, Adam D. Ruppe
> wrote:
>> On Thursday, 28 January 2016 at 13:36:46 UTC, Puming wrote:
>>> I searched the forum and found that people use
>>> `const(char)[]` or `in char[]` to accept both string and
>>> char[] arguments.
>>
>> There's also the hyper-generic signatures Phobos uses like
>>
>> void foo(S)(S s) if(isSomeString!S)
>
> Yep, this is your answer.
>
> void foo(S)(S s) if(isSomeString!S)
> {
> //use s
> }
>
> Call normally as it can implicitly determine the type of S:
>
> foo("bar");
Template bloat awaits those who take this approach to every
problem. In practice, `in char[]` is probably better for most
code.
More information about the Digitalmars-d-learn
mailing list