当前位置: 首页 > 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;从而帮助开发者做…...

Windows下OpenClaw安装指南:对接ollama GLM-4.7-Flash模型

Windows下OpenClaw安装指南&#xff1a;对接ollama GLM-4.7-Flash模型 1. 为什么选择OpenClaw GLM-4.7-Flash组合 作为一个长期在Windows环境下折腾AI工具的开发者&#xff0c;我一直在寻找一个既能保持本地数据隐私&#xff0c;又能灵活对接各类开源模型的自动化框架。Open…...

保姆级教程:在银河麒麟V10桌面版上,用Docker容器化部署SpringBoot + 达梦数据库应用

银河麒麟V10桌面版容器化实战&#xff1a;SpringBoot与达梦数据库的Docker化部署指南 在国产化技术栈日益成熟的今天&#xff0c;将传统应用迁移到容器化环境已成为提升部署效率和系统可移植性的关键路径。银河麒麟V10作为国产操作系统的代表&#xff0c;结合飞腾CPU的硬件生态…...

3步精通哔哩下载姬:零基础掌握B站视频高效下载与管理全攻略

3步精通哔哩下载姬&#xff1a;零基础掌握B站视频高效下载与管理全攻略 【免费下载链接】downkyi 哔哩下载姬downkyi&#xff0c;哔哩哔哩网站视频下载工具&#xff0c;支持批量下载&#xff0c;支持8K、HDR、杜比视界&#xff0c;提供工具箱&#xff08;音视频提取、去水印等&…...

清音刻墨镜像免配置亮点:内置10+中文领域词典(医疗/法律/IT)开箱即用

清音刻墨镜像免配置亮点&#xff1a;内置10中文领域词典&#xff08;医疗/法律/IT&#xff09;开箱即用 1. 为什么字幕对齐需要专业词典&#xff1f; 做视频字幕的朋友都知道&#xff0c;最头疼的不是生成文字&#xff0c;而是让文字和声音完美对齐。普通字幕工具遇到专业术语…...

vLLM-v0.17.1实战案例:HuggingFace模型无缝接入+多LoRA高效推理

vLLM-v0.17.1实战案例&#xff1a;HuggingFace模型无缝接入多LoRA高效推理 1. vLLM框架简介 vLLM是一个专为大型语言模型(LLM)设计的高性能推理和服务库&#xff0c;由加州大学伯克利分校的天空计算实验室(Sky Computing Lab)开发&#xff0c;现已发展为社区驱动的开源项目。…...

【Linux信号】Linux进程信号(上):信号产生方式和闹钟

&#x1f3ac; 个人主页&#xff1a;艾莉丝努力练剑❄专栏传送门&#xff1a;《C语言》《数据结构与算法》《C/C干货分享&学习过程记录》 《Linux操作系统编程详解》《笔试/面试常见算法&#xff1a;从基础到进阶》《Python干货分享》⭐️为天地立心&#xff0c;为生民立命…...

实战指南:用快马为django项目生成定制化vmware开发环境,开箱即用

实战指南&#xff1a;用快马为Django项目生成定制化VMware开发环境&#xff0c;开箱即用 在实际开发场景中&#xff0c;虚拟机环境需要与具体项目需求紧密结合。最近我在做一个Django项目时&#xff0c;发现每次换电脑或重装系统都要重新配置开发环境&#xff0c;特别浪费时间…...

基于springboot的志愿者招募管理系统

目录系统架构设计数据库设计核心功能实现报名与审核流程统计与报表部署方案项目技术支持源码获取详细视频演示 &#xff1a;文章底部获取博主联系方式&#xff01;同行可合作系统架构设计 采用SpringBoot作为后端框架&#xff0c;搭配MyBatis或JPA实现数据持久化。前端可选择T…...

机器视觉C# 调用相机:从 USB 摄像头到海康工业相机(WinForms WPF)

&#x1f3a5; 机器视觉C# 调用相机&#xff1a;从 USB 摄像头到海康工业相机&#xff08;WinForms & WPF&#xff09; &#x1f4dd; 前言 在工业自动化、医疗影像或简单软件开发中&#xff0c;调用摄像头是一个绕不开的话题。在项目中同时遇到了两种需求&#xff1a; …...

Python WASM部署避坑手册(27个真实故障现场还原)

第一章&#xff1a;Python WASM部署的演进脉络与技术边界WebAssembly&#xff08;WASM&#xff09;最初为C/C/Rust等系统语言设计&#xff0c;其确定性执行模型与接近原生的性能使其迅速成为浏览器端高性能计算的事实标准。Python作为动态、解释型、依赖运行时的高级语言&#…...