C++中的in-out指什么

本篇内容介绍了“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(实施建议)

  • (Moderate) ((Foundation)) Warn about functions regarding reference to non-const parameters that do not write to them.

    (中等)((基本准则))当有函数将某引用视为非常量参数但又不去写它们的时候,报警。

    译者注:如果只是用于输入信息,应该使用传值或者const类型。

  • (Simple) ((Foundation)) Warn when a non-const parameter being passed by reference is moved.

    (简单)((基本准则))当通过引用传递的非常量参数被移动的时候报警。

    译者注:非常量参数意味着也会用于输出信息,如果内容被移动则无法继续使用。

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


标题名称:C++中的in-out指什么
分享URL:http://scyanting.com/article/gcjpos.html