例如,假设您有一个看起来像这样的程序:
QJsonArray a = data->value("my_key").toArray();
a.push_back(id);
data->insert("my_key", a);
如您所见,文字“ my_key”被插入了两次。据我了解,这意味着该程序会将char数组直接存储到二进制文件两次,即使它们完全相同,从而使事情变得多余。
做这样的事会更好:
const char* n = "my_key";
QJsonArray a = data->value(n).toArray();
a.push_back(id);
data->insert(n, a);
还是真的不重要吗?编译器是否在本地范围内处理类似的事情?如果在多个不同的源文件和函数中多次使用同一文字,该怎么办而不是本地情况。仍然值得创建某种全局变量吗?