次のコードは大丈夫ですか?:
std::vector<char> var;
size_t requiredSize;
getenv_s(&requiredSize, NULL, 0, "Something");
if (requiredSize == 0)
{
return ENV_NOT_EXIST;
}
if(var.size() < requiredSize)
var.resize(requiredSize);
// Get the value of the environment variable.
getenv_s(&requiredSize, &var[0], requiredSize, "Something");
std::string str(var.begin(),var.end());
begin()
このコードに問題がなければ、ベクターのと のend()
値がどのようにvar
更新されるか説明してもらえますか? このコードは、API ではなくベクターの内部配列を直接変更しているように見えます。では、std::vector
これらの値は実際のサイズにどのように更新されるのでしょうか?