当前位置: 首页 > wzjs >正文

工程造价信息网新疆站长之家seo概况查询

工程造价信息网新疆,站长之家seo概况查询,济南设计公司招聘信息,杭州建设工程信用平台总是看到这两个关键字,根据 AI 的回复进行了一些整理总结。 文章目录 **1. auto 关键字****基本用法****与指针、引用结合****与 const 结合****在函数返回值推导****auto 不能用于** **2. const 关键字****修饰变量****修饰指针****修饰函数参数****修饰成员函数**…

总是看到这两个关键字,根据 AI 的回复进行了一些整理总结。

文章目录

    • **1. `auto` 关键字**
      • **基本用法**
      • **与指针、引用结合**
      • **与 `const` 结合**
      • **在函数返回值推导**
      • **auto 不能用于**
    • **2. `const` 关键字**
      • **修饰变量**
      • **修饰指针**
      • **修饰函数参数**
      • **修饰成员函数**
    • **3. `auto` 和 `const` 结合**
    • **总结**

在 C++ 中,autoconst 关键字都用于变量的声明和类型推导,但它们的作用不同。下面分别讲解它们的用法及注意事项。


1. auto 关键字

auto 是 C++11 引入的关键字,主要用于类型推导。当使用 auto 声明变量时,编译器会自动推导其类型,减少冗余代码,提高可读性。

基本用法

auto x = 10;      // int
auto y = 3.14;    // double
auto str = "hello"; // const char*

与指针、引用结合

int a = 10;
int& ref = a; // & 在这里表示引用,而不是取地址运算符
auto b = ref;   // b 是 int,而不是 int&,即 b 变成了 a 的一个拷贝

注意: auto 会忽略引用,b 只是 a 的拷贝。

  • 引用相当于变量的别名(alias)
  • ref 也相当于 a
  • 而 &ref 是 a 的内存地址

const 结合

const int val = 100;
auto x1 = val;     // x1 的类型是 int,const 属性被丢弃
const auto x2 = val; // x2 是 const int
auto& x3 = val;    // x3 是 const int&,保持 const

注意: auto 默认会忽略 const,如果希望保留 const,需要显式使用 const autoauto&

在函数返回值推导

auto func() {return 42; // 返回类型自动推导为 int
}

C++14 支持 decltype(auto),可以保留原始类型信息:

const int& getVal() { // int& 表示函数返回一个静态变量的引用,不会拷贝static const int x = 100;return x;
}decltype(auto) res = getVal();  // res 是 const int&
  • 声明类的实例时,也可以用 auto

auto 不能用于

  • 函数参数(但 auto 可以用于模板)
  • 类的非静态成员变量

2. const 关键字

const 关键字用于声明常量或只读变量,防止修改数据,增强代码的安全性和可读性。

修饰变量

const int a = 10;
a = 20;  // ❌ 错误,a 不能被修改

修饰指针

int x = 10, y = 20;
const int* p1 = &x;   // 指针指向的值不能修改,即 p1 不能修改 x 的值,但可以指向不同的 int 变量
int* const p2 = &x;   // 指针本身不能修改
const int* const p3 = &x; // 指针和指向的值都不能修改

区分:

  • const int* p1(指向常量的指针): 不能通过 p1 修改 x,若不加 const 则可以修改
  • int* const p2(常指针): p2 不能指向其他地址,但可以修改 x
  • const int* const p3(指向常量的常指针): 既不能修改 x,也不能更改 p3

修饰函数参数

void func(const int& val) {// val 不能被修改
}

好处:

  • 避免误修改
  • 允许传递常量参数
  • 提高代码的可读性

修饰成员函数

class Test {
public:void show() const {  // 该成员函数不能修改成员变量// a = 20;  ❌ 错误}
private:int a;
};
  • 对于类中的函数,在声明时参数前面可以不加 const,但具体实现时加 const

3. autoconst 结合

const int a = 10;
auto b = a;   // b 是 int(const 被丢弃)
const auto c = a;  // c 是 const int
auto& d = a;  // d 是 const int&

如果 auto 需要保留 const 属性,必须要 const auto (即 constauto 之前) 或 auto&


总结

关键字作用示例
auto自动类型推导auto x = 10;
auto&保留引用auto& ref = var;
const声明不可变变量const int x = 10;
const auto保留 constconst auto y = x;
const int* p指针指向的值不可修改const int* p = &x;
int* const p指针本身不可修改int* const p = &x;
const int* const p指针和指向的值都不可修改const int* const p = &x;

总之,auto 让代码更简洁,而 const 使代码更安全,两者结合可以避免意外修改数据。

http://www.dtcms.com/wzjs/97588.html

相关文章:

  • 如何办网站 论坛google seo怎么做
  • 建网站有什么好处国外网站seo免费
  • 网站建设应该学什么软件公众号推广方法
  • 做的物流网站有哪些石家庄新闻
  • ai做漫画头像网站曼联目前积分榜
  • 中小学网站建设白度
  • 上海seo网络推广渠道重庆百度推广seo
  • 怎么封锁网站广州新闻24小时爆料热线
  • 蓟州农家院如何做网站网站建设是什么工作
  • 甘肃网站设计公司排名优化课程
  • 有什么网站专门做美食的吗搜索引擎优化英文简称为
  • 有哪些做画册的网站1688如何搜索关键词排名
  • 国内做企业英文网站用什么cms山西网络营销seo
  • 全面的锦州网站建设企业培训机构有哪些
  • 一个单位网站被黑该怎么做台州网站建设方案推广
  • 宣传单网站设计培训班学费一般多少
  • 3东莞网站建设2022年新闻热点事件
  • 建站网站的图片seo网络推广排名
  • 网站建设分为哪些内容济源网络推广
  • 烟台做网站联系电话大数据营销系统
  • 手机网站制作app国内免费建网站
  • 2狠狠做网站中国互联网公司排名
  • 长沙网络营销外包哪家好网站搜索引擎优化方案的案例
  • 深圳政府在线网站电商网站对比
  • 南宁网站制作建设常德政府网站
  • ds216j做网站seo文章是什么
  • php旅游类网站开发深圳网络推广培训中心
  • 小说网站架构seo前线
  • 凤泉网站建设江苏免费关键词排名外包
  • 双线主机可以做彩票网站吗网站推广平台搭建