Input from a newbie
Stefan
stefan at schuerger.com
Sat Apr 7 15:42:18 PDT 2012
On Saturday, 7 April 2012 at 22:21:36 UTC, Jonas wrote:
> Hello D community! :-)
>
> I was looking for a sane, object-oriented,
> possible-to-go-low-level programming language, so I decided to
> give D a try today.
good choice, welcome! ;-)
> 4) What's the difference between `... foo(MyObject obj) { ...
> }` and `foo(MyObject* obj)`? What are use cases for explicit
> pointers when passing objects? That's not covered in the
> documentation AFAIT.
You normally don't need pointers. Objects are always passed by
reference. So MyObject* obj would be redundant.
> 5) What's wrong with this program? Is it that `printf` doesn't
> understand D strings? If so, how do I use D strings in string
> formatting?
>
> import std.stdio;
>
> string foo() { return "foobar"; }
>
> int main() {
> printf("%s\n", foo());
> return 0;
> }
printf is a C function which expects 0-terminated strings. D's
strings are variable-length arrays and not zero-terminated.
Don't use printf. Try using writef instead. Same arguments.
Stefan
More information about the Digitalmars-d-learn
mailing list