装运箱:GetBuffer()例子
CString::GetBuffer() example
我试图理解GetBuffer()函数。看起来它返回了指向CString的指针,这在msdn GetBuffer()中得到了确认。但是,我不理解msdn GetBuffer()中显示的示例。
LPTSTR p = s.GetBuffer( 10 );
里面是10有什么原因吗?谁能告诉我这个例子的输出?
10是最小的缓冲区长度,所以如果你在一个CString上调用GetBuffer(),比如说,4个字符,它将分配一个长度为10字符的LPTSTR,以防你想把一个更长的字符串输入到缓冲区中(就像他们在例子中所做的那样)。示例中的10是任意的,它们可以很容易地使用6("Hello"中的五个字母加上结束的null)或任何更大的数字,并且效果相同。
一般来说,除非你真的需要使用GetBuffer(),否则你最好避开它。
相关文章:
- 书中的这个例子不好吗
- 不明白迭代器,引用和指针失效,一个例子
- C++编译器中有哪些非确定性的例子?
- 如何返回实际值(在我的例子中是无符号字符数组)而不是来自 C++ 函数的指针?
- 在 C++11 中利用 int*_t、int_fast*_t 和 int_least*_t 之间的差异的一个很好的例子是
- C++:根据斯特劳斯特鲁普的例子播种随机数
- 有没有一个迭代器的例子,它不会使用 ptrdiff_t 作为其difference_type?
- 没有大小参数的CString::GetBuffer()做什么
- 如何理解"Temporary objs are destroyed as the last step in evaluating the full-expression"?谁能用一些简单的例子来说明这
- 我需要Q_EMIT的例子
- 我不明白在这个例子中什么时候调用构造函数
- C++segfault,可重复的例子
- 我想了解为什么在这个例子中使用引用函数?或者引用在c++函数中的重要性
- 什么是"Reading unbounded stream from standard input (Memory Management)"的例子
- 提升 ASIO async_tcp_echo_server的例子
- 我正在学习C++,我不能使用指针访问参考吗?(举个例子)
- 为什么int foo()是右值,而int&foo()在这个例子中是左值?
- 为什么在这个例子中有"for(auto& x : v)"而不是"for(auto x : &v)"?
- 如何通过这个简单的例子正确使用 C++11 中的可变参数模板?
- 装运箱:GetBuffer()例子