【发布时间】:2020-08-04 16:24:46
【问题描述】:
这可能是一个非常简单的答案,我不确定。我必须给出一个变量的地址才能读入根目录中的一些值。我需要不同的变量名,因为我想稍后比较它们。有没有一种方法可以一步将它们读入正确命名的变量(双精度类型),这些变量是递增命名的(Detector_P0、Detector_P1 等)。这是我到目前为止所拥有的:(我有它为branchName 工作,但不是SetBranchAddress() 中的&variableName)。任何建议将不胜感激!!!
for (int i = 0; i < nb_det; i++) {
std::string branchVarName = "Detector_P" + std::string(to_string(i));
const char * branchVarNameC;
branchVarNameC = branchVarName.c_str();
All->SetBranchAddress(branchVarNameC,&???);
}
【问题讨论】:
-
std::map可能会有所帮助。 -
branchVarNameC已经是一个地址。All->SetBranchAddress(branchVarNameC, branchVarNameC);我不知道SetBranchAddress是做什么的,但是你有Address Of操作符,所以我假设你想在其中添加branchVarNameC的地址。请记住,当您的for循环退出时,地址/char*将无效。您正在for循环的范围内创建它们。
标签: c++ variables naming memory-address