宝杉的博客

UNIX/LINUX;ACE;SNMP;C++
posts - 33, comments - 23, trackbacks - 0, articles - 0

指针传递和值传递

Posted on 2007-08-03 12:52 宝杉 阅读(344) 评论(1)  编辑 收藏 引用 所属分类: C++
 

   对于只做输入用的指针参数,最好用const,这样避免指针参数被修改。

   比如:对于上面的StringCopy的例子,写成

   void StringCopy (char *strDestination, const char *strSource);         //比较安全。

   但是如果输入参数以值传递的形式传递对象,则改为使用const &最好,因为省去了临时对象的构造和解析的过程,提高效率和安全性。

 

   int printf(……);这个函数的参数不确定,没有严格的类型检查,所以最好不用。

Feedback

# re: 指针传递和值传递  回复  更多评论   

2008-04-22 10:44 by tttt
提个问题:
void main(){
char str[200];
function(str);
}
int function(char *str){
char p[10];
function1(p);

sprintf(str,"%s",p);
}
int function1(char *str){
char q[10];
memset(str,'@',9);
sprintf(str,"%s",q);
}这是我的程序的简单化,可是不能执行。
测试时,function1可以很好的执行,而function里的sprintf不能执行了?怎么回事啊 ???????????

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理