首页 > 编程语言 >c++ 后端

c++ 后端

时间:2024-11-18 12:44:09浏览次数:3  
标签:std 函数 int c++ C++ ptr 指针

基础知识

1. 指针、引用

指针: 一个实体,存放指向对象地址的变量。指向一块内存,指向可以改变,有const和非const的区别,甚至可以为空(NULL)。
引用: 变量(内存)的别名,一经定义不可修改,且必须初始化。

int A=10;
int& rA = A;  //引用
int* pA = &A; // 指针
char* p = "hello"; //字符指针
int* arr[10];      //指针数组
int  (*p)[10];     //数组指针
int *p = &A;      //整形指针
float f = 1.0; float* pf = &f;    //单精度浮点型指针
double d = 2.00; double* pd = &d; //双精度浮点型指针

注:指针与对应的变量类型保持一致。若类型不匹配可能存在以下问题:

  1. 错误的数据解释。解引用出错。
  2. 内存访问错误。触发违例,访问错误。
  3. 类型安全问题。破坏类型安全性,难以调试和理解。

野指针(wild): 没有经过初始化的指针。
悬空指针(dangling): 指针指向已经被释放的的内存空间的指针。
规避野指针:

  1. 指针创建立即初始化。
  2. 使用指针过程中,防止指针越界访问。
  3. 指针指向的空间释放,指针立即置为NULL。
  4. 使用指针前进行安全检查。

标签:std,函数,int,c++,C++,ptr,指针
From: https://blog.csdn.net/qq_45325459/article/details/143854224

相关文章

  • C++ 编程基础(8)模版 | 8.2、函数模版
    文章目录一、函数模版1、声明与定义2、模版参数3、模板的实例化3.1、隐式实例化3.2、显示实例化4、模版的特化5、注意事项6、总结前言:C++函数模板是一种强大的特性,它允许程序员编写与类型无关的代码。通过使用模板,函数或类可以处理不同的数据类型,而无需重复编写......
  • 【C++】C++11 新特性揭秘:序章
    C++语法相关知识点可以通过点击以下链接进行学习一起加油!命名空间缺省参数与函数重载C++相关特性类和对象-上篇类和对象-中篇类和对象-下篇日期类C/C++内存管理模板初阶String使用String模拟实现Vector使用及其模拟实现List使用及其模拟实现容器适配器Stack与QueuePriority......
  • 宝宝的C++,小学生C++编程启蒙 书籍等
    1、宝宝的C++(2016-11)2、啊哈编程星球:一本书入门Python和C++(2019年09月)啊哈编程星球啊哈编程星球!编程学习从这开始~3、我的第一本算法书(修订版)--2024.24、聪明的算法(2022.07)--6到12岁小读者量身打造的前沿科学大揭秘系列科普书5、走进GoC的编程世界(......
  • C++-------------类和对象
    1.类的定义1.1类定义格式•class为定义类的关键字,Stack为类的名字,{}中为类的主体,注意类定义结束时后⾯分号不能省略。类体中内容称为类的成员:类中的变量称为类的属性或成员变量;类中的函数称为类的⽅法或者成员函数。•为了区分成员变量,⼀般习惯上成员变......
  • C++ stl chrono 学习笔记
    chronosinceC++11库的参考手册(英文)|cppreferencechrono库定义了三种(直到c++20)五种(从c++20开始)主要类型以及实用函数和常用类型:cokckstimepointsdurationscalendardates(sinceC++20)timezoneinformation(sinceC++20)clocks时钟由起点(或历元)和滴答率组成......
  • C++-练习-88
    题目:下列程序中每个try后面都使用两个catch块,以确保nbad_index异常导致方法label_val()被调用。请修改该程序,在每个try块后面只使用一个catch块,并使用RTTI来确保合适时调用label_val()。test.h#ifndefQUEUE_H_#defineQUEUE_H_#include<iostream>usingnamespacestd;......
  • C++时间复杂度讲解
    它约等于算法中基本操作重复执行的次数(循环或递归的次数)不是行数!!!最多为O(5)!!!用乘号连接(在嵌套循环中),时间复杂度用O()表示。(O()只是符号)如:for(int=1;i<=n*10/8;i++){      for(intj=1;j<=n*10/2;k++){             for(intk=1;k<n*10;k++)......
  • 双非本 大一的蓝桥杯c++组备赛日记----普通人的极限在哪里?
    本文创作灵感:从开学到现在,刷到许许多多的让人热血沸腾、心生向往的视频,大都是MIT精致生活,清北狂人此类的。刷多之后心中躁动,跃跃欲试,可又知自己能力有限,面对神仙般的人物只能望其项背,每日累得吐血,但成效低微,心中茫然不已。又恰逢手贱误删文件,导致重新装了一遍vs。本人之前看的......
  • C++入门基础知识152—【关于C++ 赋值运算符重载】
    成长路上不孤单......
  • C++入门基础知识151—【关于C++ ++ 和 -- 运算符重载】
    成长路上不孤单......