A semantic limitation of the C ++ Compiler

Source: Internet
Author: User

A temporary variable cannot be referenced as a non-const parameter, not because it is a constant, but because of a semantic limitation of the C ++ compiler. If a parameter is passed in as a non-const reference, the C ++ compiler has reason to thinkProgramThe member modifies the value in the function, and the modified reference will play a role after the function returns. However, if you use a temporary variable as a non-const reference parameter, the programmer cannot operate the Temporary Variable due to the special nature of the temporary variable, and the temporary variable may be released at any time, generally speaking, modifying a temporary variable is meaningless. Therefore, the C ++ compiler adds the semantic restriction that the temporary variable cannot be referenced as a non-const, and is intended to limit the potential errors of this unconventional usage.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.