为什么没有报告所有变量的“未使用的变量”警告?

时间:2014-03-01 09:54:44

标签: c++ gcc c++11 unused-variables

我有这段代码:

// 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警告。为什么没有报告vcities

1 个答案:

答案 0 :(得分:2)

它不是原始值,因此它的构造函数和/或析构函数可能具有所需的副作用。

经典示例: Timer对象,用于测量构造和销毁之间的时间:https://stackoverflow.com/a/5302868/1938163