摘要:
返回引用的函数返回一个左值。因此,这样的函数可用于任何要求使用左值的地方:应用举例: 1 char &get_val(string &str, string::size_type ix) 2 { 3 return str[ix]; 4 } 5 int main() 6 { 7 string s("a value"); 8 cout << s << endl; // prints a value 9 get_val(s, 0) = 'A'; // changes... 阅读全文
posted @ 2013-03-28 22:09
毋忆典藏
阅读(719)
评论(0)
推荐(0)
摘要:
有三种常见的编程技巧确保函数的操作不超出数组实参的边界。第一种方法是在数组本身放置一个标记来检测数组的结束。 C 风格字符串就是采用这种方法的一个例子,它是一种字符数组,并且以空字符 null 作为结束的标记。处理 C风格字符串的程序就是使用这个标记停止数组元素的处理。第二种方法是传递指向数组第一个和最后一个元素的下一个位置的指针。这种编程风格由标准库所使用的技术启发而得, 在第二部分将会进一步介绍这种编程风格。第三种方法是将第二个形参定义为表示数组的大小,这种用法在 C 程序和标准化之前的 C++ 程序中十分普遍。 阅读全文
posted @ 2013-03-28 18:29
毋忆典藏
阅读(183)
评论(0)
推荐(0)
摘要:
1.问题的关键是非 const 引用形参 (第 2.5 节) 只能与完全同类型的非 const 对象关联。2.应该将不修改相应实参的形参定义为 const 引用。如果将这样的形参定义为非 const 引用,则毫无必要地限制了该函数的使用。例如,可编写下面的程序在一个 string 对象中查找一个指定的字符: 1 // returns index of first occurrence of c in s or s.size() if c isn't 2 in s 3 // Note: s doesn't change, so it should be a reference t 阅读全文
posted @ 2013-03-28 15:33
毋忆典藏
阅读(207)
评论(0)
推荐(0)
浙公网安备 33010602011771号