Can I use the `brace-init-list` to initialize a struct which contains `std::string` field?
<p>As far as I known, <code>std::string</code> is a non-POD type.<br>
When I define a struct which contains <code>std::string</code> field.<br>
Can I still use the <code>brace-init-list</code> to initialize the struct?<br>
The code bellow works. Compiler gives me no warning. Am I missing something?</p>

<pre><code>#include &lt;stdio.h&gt;
#include &lt;string&gt;

int main()
{
    struct Book
    {
        int id;
        std::string title;
    };

    Book book = {42, "hello, world"};
    printf("%d:%s\n", book.id, book.title.c_str());
}
</code></pre>

<hr>

<pre><code>$ g++ --version
g++ (GCC) 4.1.2 20070925 (Red Hat 4.1.2-33)
$ g++ -Wall -std=c++98 main.cpp -lstdc++
$ ./a.out
42:hello, world
</code></pre>
