首页 > 编程语言 >C++第六节课 引用变量 指针的升级版

C++第六节课 引用变量 指针的升级版

时间:2024-03-02 21:01:00浏览次数:33  
标签:传参 const 变量 int C++ 引用 第六节 升级版 指针

#include <iostream>

using namespace std;
// C++的引用 是C指针的升级  可以提高代码的稳定性和健壮性
// const 修饰的引用 是 常引用
// 函数传参 实参向形参进行传递 默认是值的传递 这个是值的一个副本 两个互不影响
int add(const int& a,const int& b){
   /// a++; 避免了指针偏移
   ///  使用引用并没有开辟新空间  在函数传参最为常见的一种方式  推荐使用
   /// 使用引用传参的时候推荐使用 const 修饰 增加代码的稳定性和健壮性
   ///
   /// 总结特点:
   /// 1. 从编译器的角度上来说 引用就是升级版本的指针
   /// 2. 从语法上来说 引用是引用了一块合法的空间
   /// 指针可以是一个野指针 ,也可以指向任何地方
   /// 指针可以进行无限次的赋值 引用只可以被引用一次
   /// 已经定义变量的别名就是引用 引用变量通常作为函数的形参,通过将引用变量用作参数,函数将使用原始数据,而不应是副本 可以
   /// 达到和指针一样的效果  就是互相改变值  一个值传递 一个引用传递
   /// ps:js 中值类型和引用类型
   /// const 修饰的变量一定要初始化
  return a+b;
}
int main()
{
    cout << "Hello World!" << endl;
    return 0;
}

 

标签:传参,const,变量,int,C++,引用,第六节,升级版,指针
From: https://www.cnblogs.com/zhulongxu/p/18049229

相关文章

  • C++ 重载运算符和重载函数 二元运算符重载
    C++允许在同一作用域中的某个函数和运算符指定多个定义,分别称为函数重载和运算符重载。重载声明是指一个与之前已经在该作用域内声明过的函数或方法具有相同名称的声明,但是它们的参数列表和定义(实现)不相同。当您调用一个重载函数或重载运算符时,编译器通过把您所使用的参数类型......
  • c++多线程按行读取同一个每行长度不规则文件
    对于非常大的比如上百G的大文件读取,单线程读是非常非常慢的,需要考虑用多线程读,多个线程读同一个文件时不用加锁的,每个线程打开一个独立的文件句柄多线程读同一个文件实现思路思路1先打开一个文件句柄,获取整个文件大小file_size确定要采用线程读取的部分大小read_size和......
  • c++多线程编程
    c++线程库:<thread>创建线程:需要可调用的函数或者函数对象作为线程入口点例:std::threadthreadname(function_name,args...)在C++中,当使用std::thread创建线程并传递类的成员函数时,需要使用&来获取成员函数的地址,同时还需要传递对象的指针(或引用)作为第一个参数。......
  • C++ 继承
    1//基类2classAnimal{3  //eat()函数4  //sleep()函数5};678//派生类9classDog:publicAnimal{10  //bark()函数11};基类&派生类一个类可以派生自多个类,这意味着,它可以从多个基类继承数据和函数。定义一个派生类,我......
  • C++ 类的静态成员
    原文可以使用 static 关键字来把类成员定义为静态的。当我们声明类的成员为静态时,这意味着无论创建多少个类的对象,静态成员都只有一个副本。静态成员在类的所有对象中是共享的。如果不存在其他的初始化语句,在创建第一个对象时,所有的静态数据都会被初始化为零。我们不能把静态......
  • C++ 指向类的指针
    原文一个指向C++类的指针与指向结构的指针类似,访问指向类的指针的成员,需要使用成员访问运算符 ->,就像访问指向结构的指针一样。与所有的指针一样,在使用指针之前,对指针进行初始化。在C++中,指向类的指针指向一个类的对象,与普通的指针相似,指向类的指针可以用于访问对象的成员......
  • C++ 拷贝构造函数(初学有点难理解)
    拷贝构造函数是一种特殊的构造函数,它在创建对象时,是使用同一类中之前创建的对象来初始化新创建的对象。拷贝构造函数通常用于:通过使用另一个同类型的对象来初始化新创建的对象。复制对象把它作为参数传递给函数。复制对象,并从函数返回这个对象。如果在类中没有定义拷......
  • C++填坑系列——新手写代码易错点
    c++新手写代码的几个易错点学习自https://www.youtube.com/watch?v=i_wDa2AS_8w1.限制usingnamespacestd的作用范围如果你自己定义了一个和std空间内同名的函数,当你把std放到globalnamespace(也就是直接usingnamespacestd)中,就会出现函数冲突;usingnamespacestd的使......
  • C++填坑系列——万能引用+移动语义+完美转发
    模板编程中的万能引用、移动语义、完美转发万能引用:T&&,辅助模板编程,这样左值和右值的参数都可以接收;移动语义:std::move,转换为右值,也可结合移动构造函数和移动赋值使用;完美转发:std::forward,可以保留参数的左值和右值属性,因为后续使用该参数可能还需要这个属性;万能引用万能引......
  • C++填坑系列——EffectiveModernC++之类型推导
    接下来会记录我在学习《EffectiveModernC++》的一些总结和思考。鉴于C++的知识太多了,我难以全面覆盖到学习,所以这里借此来补充和发散自己的学习心得:)以下内容由学习这个网站EffectiveModernC++的中文翻译内容得来https://cntransgroup.github.io/EffectiveModernCppChine......