c++ CString 的疑问 有一个函数void test(CString &s){ CString tmp = s; s.empty(); s = tmp;}这种做法是否安全?为什么我这么写程序会出错?怎么修改? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 没问题啊,CString的这个函数名是Empty不是empty Empty();不是empty(); 安全的 只是把CString s 变为"" 空串 在赋回原值 保证 CString &s 不能为无效引用就OK了 出错是s.empty();改为如下;s.Empty();使用是安全的,就是赋值,别的没什么。 没危险啊,就是个赋值,内存MFC会替你处理的,一般不用管 CString::Emptyvoid Empty( );说明:此成员函数用来使CString对象成为一个空字符串,并释放相应的内存。更多的信息,参见“Visual C++程序员指南”中的“字符串:CString异常清除”。示例:下面的例子说明了如何使用CString::Empty。// CString::Empty示例:CString s( "abc" );s.Empty();ASSERT( s.GetLength( ) == 0 );安全 我是菜鸟void test(CString &s){ CString tmp = s; s.empty(); s = tmp;}函数传值的写法是不是有问题啊?字符串的s的地址,tmp是字符串。还进行赋值,是不是有问题啊?empty应为Empty 在CMainFrame中的菜单栏的线程问题 求助 int 如何转换 std::wstring 急求 汉字字符处理 abnormal program termintion 错误, m_pRecordset->MoveNext() 不能移动了? 请斑竹回答 MajorVon()老师进来接分! 请教:用一个简单例子演示一下如何编写(增强VC编译器功能的)宏? COM的访问 怎样得到当前的文本文件的指针的位置? 求教:如何扫描指定目录下的所有文件(包括子目录) 求解:vc能不能做播放3D电影的播放器 2D转3D也行 不定长串口数据接收
改为如下;
s.Empty();
使用是安全的,就是赋值,别的没什么。
此成员函数用来使CString对象成为一个空字符串,并释放相应的内存。
更多的信息,参见“Visual C++程序员指南”中的“字符串:CString异常清除”。示例:下面的例子说明了如何使用CString::Empty。
// CString::Empty示例:
CString s( "abc" );
s.Empty();
ASSERT( s.GetLength( ) == 0 );安全
void test(CString &s)
{
CString tmp = s;
s.empty();
s = tmp;
}
函数传值的写法是不是有问题啊?字符串的s的地址,tmp是字符串。还进行赋值,是不是有问题啊?empty应为Empty