什么" at"运算符在C ++中做?例如,string.at或word.at

时间:2015-07-30 23:08:48

标签: c++ function operators

// Iterate(loop/repetition) over the word
for(int i = 0; i < (int)word.size(); i++ ){
    // Get a character
    char ch = word.at(i);

    // If the character matches the character we're looking for
    if(searchCh == ch){

        // Increment a counter
        counter++; // counter = counter + 1

word.at(i)在运算符中的含义是什么,&#34; at&#34;运算符在C ++中做?例如,string.at或word.at

2 个答案:

答案 0 :(得分:2)

您可能的意思是“word.at(i)word[i]有什么不同?”

word.at(i)通常检查i是否在范围内,如果不是则抛出异常。如果word[i]超出范围,则i只是未定义的行为。

此外,使用word[word.size()],您可以访问隐式尾随'\0' - 字节,但对于word.at(word.size()),索引超出范围。

答案 1 :(得分:0)

at()是C ++中的成员函数。 s.at()返回字符串中i位置的字母。但如果这个职位是 不在范围内,它会抛出异常。