如何详细理解并应用C语言的auto自动类型推导规则?

更新于
2026-10-10 15:18:34
1阅读来源:SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1126个文字,预计阅读时间需要5分钟。

如何详细理解并应用C语言的auto自动类型推导规则?

目录+一.auto 推导规则4点+二.auto 的使用时机+一.auto 推导规则4点(1)+引用不是类型,因为此auto不能推断出引用+int a=1; int b=a; // b=int 用 - 表示引用+int c=b; // c-int(2)auto+在推导时,表示类型+二.auto 的使用时机(1)+

目录
  • 一.auto推导规则4点
  • 二.auto的使用时机

一.auto推导规则4点

(1) 引用不是类型,因此auto不能推断出引用

int a = 1; int& b = a;// b-> int& 用->表示推导出类型,下同 auto c = b;// c->int

(2)auto 在推断引用的类型时,会直接将引用替换为引用指向的对象。

引用不是对象,任何引用的地方都可以直接替换为引用指向的对象。

int a = 10; const int& b = a ;// b-> const int& auto c = b; // c-> int //相当于 auto c = a;

由于在传递值时,修改这个值不会对原有的数据造成影响,而传递引用时,修改这个值会对修改原有的数据。

阅读全文

本文共计1126个文字,预计阅读时间需要5分钟。

如何详细理解并应用C语言的auto自动类型推导规则?

目录+一.auto 推导规则4点+二.auto 的使用时机+一.auto 推导规则4点(1)+引用不是类型,因为此auto不能推断出引用+int a=1; int b=a; // b=int 用 - 表示引用+int c=b; // c-int(2)auto+在推导时,表示类型+二.auto 的使用时机(1)+

目录
  • 一.auto推导规则4点
  • 二.auto的使用时机

一.auto推导规则4点

(1) 引用不是类型,因此auto不能推断出引用

int a = 1; int& b = a;// b-> int& 用->表示推导出类型,下同 auto c = b;// c->int

(2)auto 在推断引用的类型时,会直接将引用替换为引用指向的对象。

引用不是对象,任何引用的地方都可以直接替换为引用指向的对象。

int a = 10; const int& b = a ;// b-> const int& auto c = b; // c-> int //相当于 auto c = a;

由于在传递值时,修改这个值不会对原有的数据造成影响,而传递引用时,修改这个值会对修改原有的数据。

阅读全文