-2
(* var)[n]在C++中的含义是什么?在这段代码中我知道,它是指从获得n组的正则表达式匹配的捕获字符串,但我不明白为什么这不起作用:(* var)[n]在C++中意味着什么
*var[n] //edit: oh duh, that would be a multiplication
什么了括号?让我想起了铸造的,所有3给出了相同的结果:
(char*)filename[0]
const_cast<char*>(filename.c_str())
&filename[0]
但(字符*)和(*它)在不同的地方的星号。
regex expr("[_-]?([a-gA-G]#?(?:-2|-1|[0-8]))");
int found = 0;
for (sregex_iterator it(tagstruct.name.begin(), tagstruct.name.end(), expr), itEnd; it != itEnd; ++it) {
if ((*it)[1] != "") {
notename = (*it)[1];
if (++found >= search_count) {
f = NoteNameToFreq(notename);
break;
}
}
}
'*'用于通过指针变量进行间接寻址。 – Barmar
'* var [n]'与'(* var)[n]'不一样。下标具有更高的优先级,所以它相当于'*(var [n])'。 – Barmar
'(char *)'是类型转换。 – Barmar