社区
C++ 语言
帖子详情
关于std::string作参数的问题
wwq100
2011-09-20 04:21:35
func(const char * p_str)
{
}
func(const std::string & str)
{
}
C++程序一般用那个好?
第二种 传入NULL会运行时死机。(NULL在程序中定义为:0),原来一直习惯用第二种。
...全文
445
15
打赏
收藏
关于std::string作参数的问题
func(const char * p_str) { } func(const std::string & str) { } C++程序一般用那个好? 第二种 传入NULL会运行时死机。(NULL在程序中定义为:0),原来一直习惯用第二种。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
15 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wwq100
2011-09-21
打赏
举报
回复
[Quote=引用 6 楼 bokutake 的回复:]
像CString或者std::string都可以用来做返回值,但是尽量避免用来作为参数,可能存在浅拷贝的问题,所以如果作为传入参数,请使用C风格字符串,微软的MSDN里也是这么建议的。
[/Quote]
msdn在那里有这个建议,我怎么搜不到?
wwq100
2011-09-21
打赏
举报
回复
[Quote=引用 13 楼 bokutake 的回复:]
第二种传一个_T("")不行么,非要NULL
[/Quote]
很多人在一起干活,防不胜防
辰岡墨竹
2011-09-20
打赏
举报
回复
第二种传一个_T("")不行么,非要NULL
wwq100
2011-09-20
打赏
举报
回复
const char * p_str = NULL;
把 p_str传进去, 能编过,运行期出错
Qlaiaqu
2011-09-20
打赏
举报
回复
string是类,NULL是啥?你编译能过吗?
pathuang68
2011-09-20
打赏
举报
回复
这是个好问题!
wwq100
2011-09-20
打赏
举报
回复
MSDN那里有建议,我想看一下?
苍蝇①号
2011-09-20
打赏
举报
回复
杯具!!!这是代码不严谨的问题
wwq100
2011-09-20
打赏
举报
回复
他那边是一个const char * ,只是在某些情况下出现传入NULL的情况
辰岡墨竹
2011-09-20
打赏
举报
回复
像CString或者std::string都可以用来做返回值,但是尽量避免用来作为参数,可能存在浅拷贝的问题,所以如果作为传入参数,请使用C风格字符串,微软的MSDN里也是这么建议的。
wy2001wy
2011-09-20
打赏
举报
回复
看到这样的接口,然后还传个NULL,那肯定是调用的人有问题嘛
wwq100
2011-09-20
打赏
举报
回复
但别人会调你的接口,今天就遇到一个这样的死机
txdgtwpv
2011-09-20
打赏
举报
回复
给NULL取地址??
turing-complete
2011-09-20
打赏
举报
回复
其实用指针和引用,完全是出于习惯和公司的规范,因为二者的实现都是一样的。
羽飞
2011-09-20
打赏
举报
回复
这确实是个让人郁闷的问题
我也一直用第二种
但是没有传过NULL
c++11总结18——
std
::to_
string
std
::
string
to_
string
( int value ); //与
std
::sprintf(buf, "%d", value)在有足够大的 buf 时产生的内容相同
std
::
string
to_
string
( long value ); //与
std
::sprintf(buf, "%ld", value)在有足够大的 buf 时...
std
::
string
C++/C++11中
std
::
string
是个模板类,它是一个标准库。使用
string
类型必须首先包含头文件。
作
为标准库的一部分,
string
定义在命名空间
std
中。 构造函数初始化 #include <iostream> #include...
C++11
std
::
string
与
std
::w
string
的相互转换
C++11中,关于
std
::
string
与
std
::w
string
的相关转换 #include <
string
> #include <locale> #include <codecvt> // convert
string
to w
string
inline
std
::w
string
to_w
string
(const
std
::
string
...
关于
std
::vector<
std
::
string
>的操
作
关于
std
::vector的操
作
VC6.0中
std
::
string
析构函数崩溃
问题
分析
VC6.0中
std
::
string
析构崩溃
问题
分析一,
问题
描述二,
std
::
string
源码分析(VC6.0)三,
问题
分析与解决 一,
问题
描述 今天程序停止运行时出现了崩溃,分析dump文件查看堆栈如下: ...
C++ 语言
64,677
社区成员
250,490
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章