C++中变量的使用细节和命名方案
C++中变量的使用细节和命名方案
C++提倡使用有一定含义的变量名。如果变量表示差旅费,应将其命名为cost_of_trip或 costOfTrip,而不要将其命名为x或cot。必须遵循几种简单的 C++命名规则。
在名称中只能使用字母字符、数字和下划线()。
名称的第一个字符不能是数字。
区分大写字符与小写字符。
不能将 C++关键字用作名称。
以两个下划线或下划线和大写字母打头的名称被保留给实现(编译器及其使用的资源)使用。以
一个下划线开头的名称被保留给实现,用作全局标识符。C++对于名称的长度没有限制,名称中所有的字符都有意义,但有些平台有长度限制。倒数第二点与前面几点有些不同,因为使用像timestop或 Donut 这样的名称不会导致编译器错误,而会导致行为的不确定性。换句话说,不知道结果将是什么。不出现编译器错误的原因是,这样的名称不是非法的,但要留给实现使用。全局名称指的是名称被声明的位置,这将在第4章讨论。最后一点使得C++与 ANSIC(C99标准)有所区别,后者只保证名称中的前 63 个字符有意义(在 ANSIC中,前63个字符相同的名称被认为是相同的,即使第64个字符不同)。
下面是一些有效和无效的C++名称:
int poodle;
int Poodle;
int POODLE;
Int terrier;
// valid
// valid and distinct from poodle
//valid and even more distinct
invalid --has tobe int,not Int//
int my stars3// valid
int Mystars3;//valid but reserved--starts with underscore
int 4ever;
/invalid because starts with a digit
int double;//invalid--double is aC++ keyword
int begin;//valid --begin is a Pascal keyword
intfools ;/valid but reserved -- starts with two underscoresint the very best variable i can be version 112;// validint honky-tonk;
// invalid--no hyphens allowed
如果想用两个或更多的单词组成一个名称,通常的做法是用下划线字符将单词分开,如myonions;或者从第二个单词开始将每个单词的第一个字母大写,如myEyeToot。(C程序员倾向于按C语言的方式使用下划线,而 Pascal程序员喜欢采用大写方式。)这两种形式都很容易将单词区分开,如carDrip和 cardRip或 boat sport 和 boats port.
对C++感兴趣的朋友点这里:C/C++课程
相关文章:
C++中变量的使用细节和命名方案
C中变量的使用细节和命名方案 C提倡使用有一定含义的变量名。如果变量表示差旅费,应将其命名为cost_of_trip或 costOfTrip,而不要将其命名为x或cot。必须遵循几种简单的 C命名规则。 在名称中只能使用字母字符、数字和下划线()。 名称的第一个字符不能是数字。 区分…...
[ACTF新生赛2020]SoulLike
两个文件 ubuntu运行 IDA打开 清晰的逻辑 很明显,我们要sub83a 返回ture 这里第一个知识点来了 你点开汇编会发现 这里一堆xor巨多 然后IDA初始化设置的函数,根本不能分析这么多 我们要去改IDA的设置 cfg 里面的 hexrays文件 在max_funsize这 修改为1024,默认是64 等待一…...
C#——析构函数详情
析构函数 C# 中的析构函数(也被称作“终结器”)同样是类中的一个特殊成员函数,主要用于在垃圾回收器回收类实例时执行一些必要的清理操作。 析构函数: 当一个对象被释放的时候执行 C# 中的析构函数具有以下特点: * 析构函数只…...
探索重要的无监督学习方法:K-means 聚类模型
在数据科学和机器学习领域,聚类分析是一种重要的无监督学习方法,用于将数据集中的对象分成多个组(簇),使得同一簇中的对象相似度较高,而不同簇中的对象相似度较低。K-means 聚类是最广泛使用的聚类算法之一,它以其简单、快速和易于理解的特点受到了广泛关注。本文将深入…...
将web项目打包成electron桌面端教程(二)vue3+vite+ts
说明:我用的demo项目是vue3vitets,如果是vue2/cli就不用往下看啦,建议找找其他教程哦~下依赖npm下载不下来的,基本换成cnpm/pnpm/yarn就可以了 一、项目准备 1、自己新创建一个,这里就不过多赘述了 2、将需要打包成…...
Linux下的/etc/resolv.conf
Linux下的/etc/resolv.conf 文件用于配置域名解析器的设置,告诉系统在解析域名时要查询哪些DNS服务器。nameserver:指定DNS服务器的IP地址。你可以列出多个nameserver,系统将按顺序尝试它们,直到找到可用的DNS服务器。 nameserve…...
大语言模型 (LLM) 红队测试:提前解决模型漏洞
大型语言模型 (LLM) 的兴起具有变革性,以其在自然语言处理和生成方面具有与人类相似的卓越能力,展现出巨大的潜力。然而,LLM 也被发现存在偏见、提供错误信息或幻觉、生成有害内容,甚至进行欺骗行为的情况。一些备受关注的事件包括…...
cocos入门11:生命周期
Cocos Creator 是一个强大的游戏开发工具,它基于 JavaScript 或 TypeScript,并使用 cc.Class 系统来组织游戏逻辑。在 Cocos Creator 中,每个组件(包括场景、节点和组件脚本)都有其生命周期,这些生命周期函…...
c++分辨读取的文件编码格式是utf-8还是GB2312
直接上代码,有一部分是GPT直接生成的: #include <QCoreApplication> #include <QFile> #include <QTextCodec> #include <QDebug>// 判断是否为UTF-8编码 bool isUtf8(const QByteArray &data) {int i 0;while (i < da…...
MS721仪表总线(M-Bus)从站收发电路
MS721 是为 M-Bus 标准 (EN1434-3) 的应用而开发的单片收发 电路。 MS721 接口电路可以适应从站与主站之间的电压差,总 线的连接没有极性要求,电路由主站通过总线供电,这样从站 电池就不会增加额外的负载,同时还集成电源失效功…...
用Python代码锁定Excel单元格以及行和列
Excel能够帮助用户高效地组织数据,还支持复杂的公式计算和数据分析。而随着团队协作的日益频繁,保护数据的准确性和完整性变得尤为重要。在Excel表格中,我们可以通过锁定特定的单元格或区域,防止对单元格内容进行随意修改…...
在Lua解释器中注册自定义函数库
本文目录 1、引言2、注册原理3、实例4、程序验证 文章对应视频教程: 暂无,可以关注我的B站账号等待更新。 点击图片或链接访问我的B站主页~~~ 1、引言 在现代软件开发中,Lua因其轻量级、高效和可嵌入性而被广泛使用。作为一种灵活的脚本语言…...
UKP3D用户定制图框的思路
为用户定制图框,记录以下图框制作方法,便于用户自已修改。 1.轴测图与平面图的图框: 1.1.图框在安装目录下,例如:E:\Program Files (x86)\UKSoft\UKP3d9.2\config\TemplateAndBlock\CADTemplate\ 1.2.配置文件在安装…...
事务并发问题 与 事务隔离级别
来源:微软sql文档 https://learn.microsoft.com/en-us/sql/odbc/reference/develop-app/transaction-isolation-levels?viewsql-server-ver16 事务隔离级别,是一种衡量事务隔离程度的指标。 事务隔离级别的定义,取决于能不能解决以下几个问…...
云原生Kubernetes系列项目实战-k8s集群+高可用负载均衡层+防火墙
一、Kubernetes 区域可采用 Kubeadm 方式进行安装: 名称主机部署服务master192.168.91.10docker、kubeadm、kubelet、kubectl、flannelnode01192.168.91.11docker、kubeadm、kubelet、kubectl、flannelnode02192.168.91.20docker、kubeadm、kubelet、kubectl、flan…...
MFC为什么说文档在数据的保存和给用户提供数据之间划分了清晰的界限?
MFC MFC(Microsoft Foundation Classes)是微软为Windows应用程序开发提供的一套C类库,它在设计上强调了"文档-视图"(Document-View)架构。这种架构将文档(Document)与用户界面&#…...
SAS:PROC SQL和ANSI标准
文章来源于SAS HELP PROC SQL 和ANSI SQL 的区别——图表和视图名称的作用域规则不同 例1:匹配数据集相关名称 当PROC SQL匹配数据集相关名称时,会依次进行3个步骤:1、有别名,用别名匹配;2、1匹配失败,在无…...
使用mysql_config_editor可以为特定的MySQL服务器或客户端程序设置登录路径
login_path 介绍 在 MySQL 中,login_path 通常不是 MySQL 服务器配置或 SQL 语句的一部分。但是,它经常与 MySQL 的命令行工具 mysql_config_editor 一起使用,这是一个允许用户安全地存储认证凭据(如用户名、密码和连接参数&…...
gridview的模板按钮如何判断用户点击的是哪一行
在asp.net的 GridView 控件中,判断用户点击的是哪一行通常可以通过处理 GridView 的 RowCommand 事件来实现。RowCommand 事件会在 GridView 的每个按钮(除非另有指定的CommandName)被点击时触发,并且事件参数中包含了足够的信息来…...
虚拟化 之三 详解 jailhouse(ARM 平台)的构建过程、配置及使用
嵌入式平台下,由于资源的限制,通常不具备通用性的 Linux 发行版,各大主流厂商都会提供自己的 Linux 发行版。这个发行版通常是基于某个 Linux 发行版构建系统来构建的,而不是全部手动构建,目前主流的 Linux 发行版构建系统是 Linux 基金会开发的 Yocto 构建系统。 基本环…...
Arm DynamIQ PMU架构解析与性能监控实战
1. Arm DynamIQ PMU架构概览 在Armv8-A架构的DynamIQ多核设计中,性能监控单元(PMU)作为硬件性能分析的核心组件,提供了对微架构事件的精确计数能力。与传统PMU设计不同,DynamIQ的Cluster级PMU寄存器组位于共享单元(DSU)中,可监控跨…...
i.MX8MP NPU实战:TensorFlow Lite模型移植与VSI-NPU优化全流程
1. 项目概述与核心价值最近在折腾一块基于NXP i.MX8M Plus的开发板,这块板子最大的亮点就是集成了一个专为边缘AI设计的神经处理单元(NPU)。官方文档里提了一嘴TensorFlow Lite的例程,但真上手去移植,发现坑是一个接一…...
猫抓Cat-Catch:浏览器媒体资源捕获终极指南
猫抓Cat-Catch:浏览器媒体资源捕获终极指南 【免费下载链接】cat-catch 猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch 你是否曾遇到过想下载网页视频却找不到下载…...
别死记硬背!用‘小明小红在操场’的JavaScript题,彻底搞懂this、call和箭头函数
从操场运动到代码执行:用生活场景拆解JavaScript的this与箭头函数 操场上的小明和小红正在运动,这个看似简单的场景却暗藏JavaScript中this指向的玄机。当我们把人物动作转化为代码时,this的指向问题往往成为初学者的"绊脚石"。本文…...
如何5分钟搭建个人离线小说库:番茄小说下载器终极指南
如何5分钟搭建个人离线小说库:番茄小说下载器终极指南 【免费下载链接】fanqienovel-downloader 下载番茄小说 项目地址: https://gitcode.com/gh_mirrors/fa/fanqienovel-downloader 你是否曾经遇到过这样的情况:在通勤路上网络突然中断…...
DDrawCompat:让经典DirectX游戏在现代Windows系统上重获新生的兼容神器
DDrawCompat:让经典DirectX游戏在现代Windows系统上重获新生的兼容神器 【免费下载链接】DDrawCompat DirectDraw and Direct3D 1-7 compatibility, performance and visual enhancements for Windows Vista, 7, 8, 10 and 11 项目地址: https://gitcode.com/gh_m…...
G-Helper终极指南:如何彻底解决华硕笔记本散热与性能管理难题
G-Helper终极指南:如何彻底解决华硕笔记本散热与性能管理难题 【免费下载链接】g-helper Lightweight Armoury Crate alternative for Asus laptops with nearly the same functionality. Works with ROG Zephyrus, Flow, TUF, Strix, Scar, ProArt, Vivobook, Zenb…...
基于Wasp全栈框架的SaaS启动模板:快速构建多租户应用
1. 项目概述:一个为独立开发者量身定制的开源SaaS蓝图 如果你是一名独立开发者,或者是一个小团队的创始人,心里揣着一个SaaS产品的想法,却总在技术选型、架构设计和持续交付的迷宫里打转,那么 wasp-lang/open-saas …...
通过taotoken审计日志追溯api调用详情与安全分析
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 通过Taotoken审计日志追溯API调用详情与安全分析 对于将大模型API集成到业务流程中的团队而言,API调用的可见性与可控性…...
VHD2VL:破解硬件描述语言转换难题的开源解决方案
VHD2VL:破解硬件描述语言转换难题的开源解决方案 【免费下载链接】vhd2vl 项目地址: https://gitcode.com/gh_mirrors/vh/vhd2vl 在FPGA和ASIC设计领域,技术团队常常面临VHDL与Verilog两种硬件描述语言之间的转换挑战。当项目需要跨语言协作、工…...
