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

CPP知识点记录总结

 1、类的const成员函数

const成员函数的const 实际修饰的是该成员函数隐含的this指针,表明在该成员函数中不能对类的任何成员进行修改。

class A {void fun() const {// 常成员函数,在函数名后用const修饰}
}

一文带你入门C++类和对象【十万字详解,一篇足够了】_c++ 入参是对象类型-CSDN博客

2、类模板template

一同感受C++模版的所带来的魅力-CSDN博客

template<typename T1, typename T2>
class A {// 使用T1 T2// 类外定义成员函数时,也需要添加 template<typename T1, typename T2>
};

注:1、模板声明只允许在全局、命名空间或类范围内使用!故不能在main函数中直接定义。

2、使用模板时,声明和定义不在同一个文件会出问题:

模板的声明是在.h文件,定义是在.cpp文件,因编译时只产生声明的代码,故编译不会出错,但是当调用时会产生找不到类或者函数的问题。

解决方法:1、将模板的声明和定义放在同一个文件中;2、主函数中调用#include<.cpp>或者将.cpp文件改为.hpp文件再引用。

3、CPP中 '' 和 "" 的区别

c++中' '和“ ”的区别_c++""与-CSDN博客

"a"是字符串,会在结尾添加\0;        而'a'是字符,只有单个字符。

实际上,"a"在内存中一般占2个字节,即 sizeof("a")=2,因为它后面还有一个\0结束符

单引号里的内容表示是字符,所以 sizeof('a')=1

 因此字符串可以是"abcde"这样的,而 'abcde' 这样就是错误的。

注意:在C语言中,sizeof('a')=4(字符在C语言中是用int型数据存储的)。

4、CPP字符数组的两种初始化方式

首先,对于给定的 字符数组 char c[3]; 通过 cout<<c; 进行输出,会直接输出数组c里面保存的内容,直到遇见结束符\0为止。如果在字符数组里面没有结束符,那么会继续一直向后输出...

对于字符数组 char c[2] ,可以通过两种方式初始化:

(1)使用普通数组形式初始化

char c[2];    //随机分配值
cout<<c;    //输出字符串,cout直到\0才停止的,输出为烫烫烫烫。。。char c[2]={'f'};    //c[1]的值为\0;
cout<<c;    //只会输出f,因为系统自动添加\0了,输出为fchar c[2]={'f','u'};
cout<<c;    //输出字符串,cout直\0才停止的,所以输出是fu烫烫烫...

(2)字符串形式初始化

char c[2]="fu";  //系统报告错误,因为如果按字符串使用字符数组,要留一位\0char c[2]="f";  //正确

总结:字符数组虽然可以当作字符串来用,但是有限制。

 1、初始化时要预留一位\0(系统会默认添加),输出字符串时才可以不至于烫烫;

 2、输出时cout<<str, str为数组名,cout当检测要输出字符串时,输出规则是 直到遇到\0才会停止,这也是烫烫的原因。

5、

相关文章:

CPP知识点记录总结

1、类的const成员函数 const成员函数的const 实际修饰的是该成员函数隐含的this指针&#xff0c;表明在该成员函数中不能对类的任何成员进行修改。 class A {void fun() const {// 常成员函数&#xff0c;在函数名后用const修饰} } 一文带你入门C类和对象【十万字详解&#…...

Spring源码(一) 如何阅读 Spring 源码

学习 Spring 的源码&#xff0c;也可以通过 SpringBoot 搭环境。 不管是什么源码&#xff0c;最好写个 demo&#xff0c;跑起来&#xff0c;然后从常用的类和方法入手&#xff0c;跟踪调试。 配置对象 新建一个 SpringBoot 的项目&#xff0c; 详情见&#xff1a; https://b…...

【代码随想录训练营】【Day 63】【单调栈-2】| Leetcode 42, 84

【代码随想录训练营】【Day 63】【单调栈-2】| Leetcode 42, 84 需强化知识点 单调栈强化 题目 42. 接雨水 注意 python 数组反序用法 result [::-1] class Solution:def trap(self, height: List[int]) -> int:# n len(height)# leftMax, rightMax [0] * n, [0] * …...

CTF常用sql注入(一)联合注入和宽字节

0x01 前言 给自己总结一下sql注入的常用姿势吧&#xff0c;记录一下学习 0x02 联合 联合注入的关键词是union SQL的union联合注入原理是联合两个表进行注入攻击&#xff0c;使用union select关键词来进行联合查询。 那么为什么我们在题目中一般是只写一个呢 因为 $sql &quo…...

薄冰英语语法学习--冠词1

冠词有2个,the 和 a /an the 叫定冠词 常用形容一类事务、特指&#xff08;加强&#xff09;、放在转有名词前面。 就这3个 定冠词 1. 定冠词特指某个&#xff08;某些&#xff09;人或某个&#xff08;某些&#xff09;事物 Many people came here to visit the old cast…...

基于Java中的SSM框架实现野生动物公益保护系统项目【项目源码+论文说明】计算机毕业设计

基于Java中的SSM框架实现野生动物公益保护系统演示 摘要 本系统按照网站系统设计的基本流程&#xff0c;遵循系统开发生命周期法和结构化方法&#xff0c;基于Java语言设计并实现了野生动物公益保护系统。该系统基于浏览器/服务器模式&#xff0c;采用JSP技术&#xff0c;后台…...

c->c++(二):class

本文主要探讨C类的相关知识。 构造和析构函数 构造函数(可多个)&#xff1a;对象产生时调用初始化class属性、分配class内部需要的动态内存 析构函数&#xff08;一个&#xff09;&#xff1a;对对象消亡时调用回收分配动态内存 C提供默认构造和析构,…...

11 UDP的可靠传输协议QUIC

1.如何做到可靠性传输 2.UDP与TCP,我们如何选择 3.UDP如何可靠,KCP协议在哪些方面有优势 4.KCP协议精讲(重点讲解 5.OUIC时代是否已经到来 UDP如何做到可靠传输 ACK机制重传机制 重传策略序号机制(后发的包可能先到) 3 2 1-> 2 3 1重排机制 2 3 1-> 3 2 1窗口机制 流…...

14-20 Vision Transformer用AI的画笔描绘新世界

概述 毫无疑问,目前最受关注且不断发展的最重要的主题之一是使用人工智能生成图像、视频和文本。大型语言模型 (LLM) 已展示出其在文本生成方面的卓越能力。它们在文本生成方面的许多问题已得到解决。然而,LLM 面临的一个主要挑战是它们有时会产生幻觉反应。 最近推出的新模…...

LVS FILTER UNUSED OPTION

我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧? 拾陆楼知识星球入口 过滤一些版图与spice网表对不上的器件。 一般后端遇不到这个问题,因为通常是需要写到网表中的decap没有写出来造成的,如下图。...

Python后端面试题

1. 文件操作w和r的区别 在Python中&#xff0c;文件操作模式中的w和r都表示对文件的读写操作&#xff0c;但它们在打开文件时的行为有所不同&#xff1a; r模式&#xff1a; 读写&#xff1a;这种模式允许你同时读取和写入文件。文件必须已经存在&#xff0c;否则会抛出一个Fi…...

docker打包 arm32v7/debian 问题总结

1.架构不同 我的宿主是x86 ,但是打包的是arm架构 安装qemu sudo apt-get install binfmt-support qemu qemu-user-static 然后使用buildx打包 docker buildx build --no-cache --platform linux/arm/v7 -t tdc_post:1.0.1 . --load 保存tar docker save -o tdc_post.tar tdc_p…...

【HarmonyOS4学习笔记】《HarmonyOS4+NEXT星河版入门到企业级实战教程》课程学习笔记(二十)

课程地址&#xff1a; 黑马程序员HarmonyOS4NEXT星河版入门到企业级实战教程&#xff0c;一套精通鸿蒙应用开发 &#xff08;本篇笔记对应课程第 30 节&#xff09; P30《29.数据持久化-用户首选项》 实现数据持久化在harmonyOS中有很多种方式&#xff0c;比较常见的是以下两…...

Vuetify3:监听当前手机还是电脑

我们在开发的时候&#xff0c;实现根据移动设备或PC设备来改编一些交互样式&#xff0c;这个时候我们需要监听宽度&#xff0c;在Vuetify3中可我们可以参考 ​​​​显示 & 平台配合监听即可在窗口缩小的时候判断出手机还是电脑 <template><v-app><div v-if…...

Zabbix 配置钉钉告警

Zabbix 配置钉钉告警 随着企业IT运维需求的不断增加&#xff0c;及时、准确地获取系统告警信息显得尤为重要。在众多告警工具中&#xff0c;Zabbix 因其强大的监控功能和灵活的告警机制&#xff0c;成为了很多企业的首选。同时&#xff0c;随着企业内部沟通工具的多样化&#…...

TTL转RS232与USB转TTL

USB转TTL是一种常用的通信接口转换器&#xff0c;它将USB&#xff08;通用串行总线&#xff09;接口转换为TTL&#xff08;晶体管-晶体管逻辑&#xff09;电平的串行接口。这种转换器在许多场景下非常有用&#xff1a; USB转TTL&#xff1a; 功能&#xff1a; 将计算机的USB接…...

【力扣 896】单调数列 C++题解(循环)

如果数组是单调递增或单调递减的&#xff0c;那么它是 单调 的。 如果对于所有 i < j&#xff0c;nums[i] < nums[j]&#xff0c;那么数组 nums 是单调递增的。 如果对于所有 i < j&#xff0c;nums[i]> nums[j]&#xff0c;那么数组 nums 是单调递减的。 当给定…...

代码随想录Day71(图论Part07)

53.寻宝 题目&#xff1a;53. 寻宝&#xff08;第七期模拟笔试&#xff09; (kamacoder.com) 思路&#xff1a;首先&#xff0c;我不知道怎么存这样的东西&#xff0c;用三维数组吗&#xff0c;没搞懂&#xff0c;果断放弃 prim算法实现 import java.util.*;class Main {publi…...

[Mdp] lc 494. 目标和(01背包变种+dp+dfs)

文章目录 1. 题目来源2. 题目解析1. 题目来源 链接:494. 目标和 2. 题目解析 方法一:dfs 数据量比较小,长度只有 20,那么针对每一个数都有两种选择,正、负,即 2 20 = 100 w 2^{20} = 100w 220=100w 差不多的时间复杂度,dfs 解决即可。时间复杂度: O ( 2 n ) O(2^{n…...

React vs Vue:谁是构建现代Web应用的王者?

在前端开发领域&#xff0c;React 和 Vue 是两大备受推崇的框架&#xff08;React实为库&#xff09;&#xff0c;各自拥有庞大的社区和丰富的生态系统。本文旨在深入探讨这两者之间的区别&#xff0c;通过代码示例来分析它们各自的优势和适用场景&#xff0c;从而帮助开发者做…...

使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式

一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明&#xff1a;假设每台服务器已…...

FFmpeg 低延迟同屏方案

引言 在实时互动需求激增的当下&#xff0c;无论是在线教育中的师生同屏演示、远程办公的屏幕共享协作&#xff0c;还是游戏直播的画面实时传输&#xff0c;低延迟同屏已成为保障用户体验的核心指标。FFmpeg 作为一款功能强大的多媒体框架&#xff0c;凭借其灵活的编解码、数据…...

基于服务器使用 apt 安装、配置 Nginx

&#x1f9fe; 一、查看可安装的 Nginx 版本 首先&#xff0c;你可以运行以下命令查看可用版本&#xff1a; apt-cache madison nginx-core输出示例&#xff1a; nginx-core | 1.18.0-6ubuntu14.6 | http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages ng…...

从深圳崛起的“机器之眼”:赴港乐动机器人的万亿赛道赶考路

进入2025年以来&#xff0c;尽管围绕人形机器人、具身智能等机器人赛道的质疑声不断&#xff0c;但全球市场热度依然高涨&#xff0c;入局者持续增加。 以国内市场为例&#xff0c;天眼查专业版数据显示&#xff0c;截至5月底&#xff0c;我国现存在业、存续状态的机器人相关企…...

使用van-uploader 的UI组件,结合vue2如何实现图片上传组件的封装

以下是基于 vant-ui&#xff08;适配 Vue2 版本 &#xff09;实现截图中照片上传预览、删除功能&#xff0c;并封装成可复用组件的完整代码&#xff0c;包含样式和逻辑实现&#xff0c;可直接在 Vue2 项目中使用&#xff1a; 1. 封装的图片上传组件 ImageUploader.vue <te…...

初探Service服务发现机制

1.Service简介 Service是将运行在一组Pod上的应用程序发布为网络服务的抽象方法。 主要功能&#xff1a;服务发现和负载均衡。 Service类型的包括ClusterIP类型、NodePort类型、LoadBalancer类型、ExternalName类型 2.Endpoints简介 Endpoints是一种Kubernetes资源&#xf…...

【JVM面试篇】高频八股汇总——类加载和类加载器

目录 1. 讲一下类加载过程&#xff1f; 2. Java创建对象的过程&#xff1f; 3. 对象的生命周期&#xff1f; 4. 类加载器有哪些&#xff1f; 5. 双亲委派模型的作用&#xff08;好处&#xff09;&#xff1f; 6. 讲一下类的加载和双亲委派原则&#xff1f; 7. 双亲委派模…...

CSS | transition 和 transform的用处和区别

省流总结&#xff1a; transform用于变换/变形&#xff0c;transition是动画控制器 transform 用来对元素进行变形&#xff0c;常见的操作如下&#xff0c;它是立即生效的样式变形属性。 旋转 rotate(角度deg)、平移 translateX(像素px)、缩放 scale(倍数)、倾斜 skewX(角度…...

Cilium动手实验室: 精通之旅---13.Cilium LoadBalancer IPAM and L2 Service Announcement

Cilium动手实验室: 精通之旅---13.Cilium LoadBalancer IPAM and L2 Service Announcement 1. LAB环境2. L2公告策略2.1 部署Death Star2.2 访问服务2.3 部署L2公告策略2.4 服务宣告 3. 可视化 ARP 流量3.1 部署新服务3.2 准备可视化3.3 再次请求 4. 自动IPAM4.1 IPAM Pool4.2 …...

【C++】纯虚函数类外可以写实现吗?

1. 答案 先说答案&#xff0c;可以。 2.代码测试 .h头文件 #include <iostream> #include <string>// 抽象基类 class AbstractBase { public:AbstractBase() default;virtual ~AbstractBase() default; // 默认析构函数public:virtual int PureVirtualFunct…...