diff options
| author | Tyge Løvset <[email protected]> | 2021-05-24 14:58:52 +0200 |
|---|---|---|
| committer | GitHub <[email protected]> | 2021-05-24 14:58:52 +0200 |
| commit | 70ef2e51798d01e5be149936fab5bd74368e71fd (patch) | |
| tree | 2bede7ae6232b7fb98dad3b86d6e39ea996ae0fc | |
| parent | b2f0250fd70c54ca55bd430f748b3ad21c24a86a (diff) | |
| download | STC-modified-70ef2e51798d01e5be149936fab5bd74368e71fd.tar.gz STC-modified-70ef2e51798d01e5be149936fab5bd74368e71fd.zip | |
Fix c_fordefer example usage.
| -rw-r--r-- | README.md | 14 |
1 files changed, 7 insertions, 7 deletions
@@ -214,16 +214,16 @@ and non-emplace methods: ```c
using_cvec_str(); // vector of string (cstr)
...
-cvec_str vec = cvec_str_init();
-cstr s = cstr_lit("a string literal"); // cstr_lit() for literals; no strlen() usage
-c_fordefer (cvec_str_del(&vec), cstr_del(&s)) // defer the destructors to end of block:
+c_fordefer (cvec_str vec = cvec_str_init(), cvec_str_del(&vec)) // defer vector destructor to end of block
+c_fordefer (cstr s = cstr_lit("a string literal"), cstr_del(&s)) // cstr_lit() for literals; no strlen() usage
{
- cvec_str_push_back(&vec, cstr_from("Hello")); // construct and add string from const char*
- cvec_str_push_back(&vec, cstr_clone(s)); // clone and add an existing string
+ const char* hello = "Hello";
+ cvec_str_push_back(&vec, cstr_from(hello); // construct and add string from const char*
+ cvec_str_push_back(&vec, cstr_clone(s)); // clone and add an existing cstr
cvec_str_emplace_back(&vec, "Yay, literal"); // internally constructs cstr from string-literal
- cvec_str_emplace_back(&vec, cstr_clone(s)); // <-- COMPILE ERROR: wrong input type
- cvec_str_emplace_back(&vec, s.str); // Ok: const char* input type (= rawvalue).
+ cvec_str_emplace_back(&vec, cstr_clone(s)); // <-- COMPILE ERROR: expects const char*
+ cvec_str_emplace_back(&vec, s.str); // Ok: const char* input type.
}
```
This is made possible because the **using**-declarations may be given an optional
|
