8

私はこのコードを持っています:

// initializer lists
#include <iostream>
#include <vector>

int main()
{
    int values[] { 1, 2, 3 };

    std::vector<int> v { 4, 5, 6 };

    std::vector<std::string> cities {
        "London", "New York", "Paris", "Tokio"
    };

    return 0;
}

ただし、gccコンパイラは配列unused variableに対してのみ警告を出します。valuesなぜ報告されないvのですか?cities

4

1 に答える 1

3

これはプリミティブな値ではないため、そのコンストラクターおよび/またはデストラクターには、必要な副作用がある可能性があります。

古典的な例:構築から破壊までの時間を測定するTimer オブジェクト: https://stackoverflow.com/a/5302868/1938163

于 2014-03-01T09:58:55.127 に答える