例如,假设您有一个看起来像这样的程序:
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);
还是真的不重要?编译器是否在本地范围内处理此类事情?如果在多个不同的源文件和函数中多次使用相同的文字,而不是本地情况如何。仍然值得创建某种全局变量吗?