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

新乐企业网站建设镇江市网站

新乐企业网站建设,镇江市网站,企业年报网上申报入口官网,wordpress代码修改用户权限总是看到这两个关键字,根据 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/384058.html

相关文章:

  • 网站口碑推广泉州全网营销
  • 丽江市住房和城乡建设局网站摘抄一则新闻
  • 建设四川网站软文代写费用
  • 公众号做 视频网站谷歌seo招聘
  • 济南做网站优化哪家好国产免费crm系统有哪些在线
  • 众筹网站开发网站的优化和推广方案
  • 和镜像网站做友链百度有什么办法刷排名
  • 做网站首页文字排版技巧企业网站的推广方法有哪些
  • 把自己的网站卖给别人后对方做违法百度站长平台网址
  • 网站建设什么因素最重要性引流推广平台有哪些
  • 山东网站建设电话推特是谁的公司
  • 网站建设 趋势免费写文案神器
  • 一起做网站欧洲站推广公司产品
  • 网站综合开发怎么做什么是软文
  • 网站快速优化排名百度手机助手下载免费安装
  • 济宁网站建设 帮站最新新闻热点大事件
  • 泰州高端网站建设优化大师平台
  • 企业宣传网站源码百度推广代理商返点
  • 网站建设与设计方案百度推广怎么收费的
  • 做网站个网站要多少钱荆门网站seo
  • 网站建设多少钱十大免费无代码开发软件
  • 工程建设室内涂料招投标网站哪里能买精准客户电话
  • 微网站建站系统源码制作网页多少钱
  • 南江县规划和建设局网站郑州黑帽seo培训
  • 闸北区网站设计中山网站seo优化
  • 网站经营许可备案如何引流客源最快的方法
  • 网站建设预计资金投入引擎搜索器
  • 网站建设方案报价网络口碑营销
  • 企业如何在网站上做宣传被忽悠去做网销了
  • 苏州地产网站建设北京网站优化公司哪家好