C++中的in-out指什么

发布时间:2021-11-25 16:31:38 作者:iii
来源:亿速云 阅读:351

本篇内容介绍了“C++中的in-out指什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

译者注:in-out指的是向函数传递输入信息的同时又从函数获取输出信息的参数。

Reason(原因)

This makes it clear to callers that the object is assumed to be modified.

向调用者明示该对象可能被修改。

Example(示例)

void update(Record& r);  // assume that update writes to r
Note(注意)

T&类型参数可以向函数传递信息也可以从函数获取信息。因此T&可以作为输入/输出参数使用。(但是如果运用不当,)它本身可能就是一个问题并且是错误的起因。

void f(string& s){    s = "New York";  // non-obvious error}
void g(){    string buffer = ".................................";    f(buffer);    // ...}

代码中函数g()的编写者向f()提供一个缓冲区用于填充,但是f()简单地替换了它(其代价稍高于简单的字符串拷贝)。如通过g()的编写者不正确地假设了buffer的大小,可能会导致非常不好的错误。

Enforcement(实施建议)

“C++中的in-out指什么”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!

推荐阅读:
  1. rgba中a是指什么
  2. java中的多态是指什么

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

c++

上一篇:C++11怎么用string对象处理文件名

下一篇:如何进行Biztalk schema开发

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》