为什么 C/C++ 的库很喜欢缩写?


一、正如很多回答已经提到的,早期的有效标识符长度有限制,所以缩写用得比较多。也主要是在 C 里(Unix 的传统)。C++ 里的标识符用缩写的不多。如 C++98(毕竟比 C89 晚了 9 年么)里我们就已经有了很多挺长的名字,如 count_if、stable_sort 和 next_permutation。在开始前我有一些资料,是我根据网友给的问题精心整理了一份「C++的资料从专业入门到高级教程」,

点个关注在评论区回复“888”之后私信回复“888”,全部无偿共享给大家!!!

二、不管你屏幕有多宽,编译器支持多长的标识符,很多地方对代码的宽度仍然是有限制的(否则就需要滚屏)。极客时间在手机上看的话代码宽度不到 40 字符,知乎在电脑上看也不到 80。印刷书籍一般只能 60 出头。而很多显示器要上竖直并排比较代码的话,代码宽度最多只能 100 出头一点点。因此,我自己写代码时,仍然是坚持以 80 列为限。——所以我看到 C++ 标准里规定的长标识符(如 propagate_on_container_move_assignment)时经常还是会觉得有点牙痒痒的(但鉴于这个名字用到的地方不多,长一点也许还是比较好)。

三、你真的确定你喜欢用 input_file_stream 而不是 ifstream?短的名字对读和写都有帮助,关键是在上下文里是不是足够清晰没有歧义。可以争辩,C 的那些短名字还是足够清晰的。日常生活里,不管是中文还cb3bdd5b3868d31db846f5430ef3891a.jpeg是英文,我们都在使用大量的缩写。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/802539.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

21 条MySQL 开发规范,太详细了,建议收藏!

数据库对象命名规范 1、数据库对象 数据库对象是数据库的组成部分,常见的有以下几种:表(Table )、索引(Index)、视图(View)、图表(Diagram)、缺省值&#x…

亚马逊电子产品审核?需要提交UL测试报告?

亚马逊要求销售的电子产品,必须经过检测符合标准才可以上架。 要办理亚马逊美国站UL测试报告,你需要联系国内的第三方检测机构,当然必须是由符合ISO17025/ILAC ISO 17025标准的实验室出具的合格报告,ISO 17025标准是国际上广泛认…

使用flex布局写6种骰子

使用flex布局写6种骰子&#x1f3b2; 效果图 概述说明 不使用position定位&#xff0c;完全靠flex进行分配位置。 在线查看 点击查看 完整代码 <template><div class"content"><ul class"list"><li class"item" v-fo…

视频图像的两种表示方式YUV与RGB(1)

了解过计算机图形图像学的该知道&#xff0c;可用RGB和YUV两种方式表示图像像素&#xff0c;视频由一帧一帧的图像组成&#xff0c;每一张图片是一个一个的像素点组成&#xff0c;既然有两种表示像素的方法&#xff0c;那就一起解一下两种表示方式的异同及优缺点。 RGB像素 这…

声明结构体变量时,是否一定要加struct关键字?

在C语言中&#xff0c;当你声明一个结构体变量时&#xff0c;是否需要使用struct关键字取决于你是否已经为结构体类型定义了一个别名。 如果你没有使用typedef为结构体定义别名&#xff0c;那么在声明结构体变量时&#xff0c;你确实需要使用struct关键字来指明变量所属的类型。…

OpenAI推出GPTBot网络爬虫:提升AI模型同时引发道德法律争议

文章目录 一、GPTBot 简介二、功能特点三、技术细节3.1、用户代理标识3.2、数据采集规则3.3、数据使用目的3.4、网站屏蔽方法3.5、数据过滤 四、GPTBot 的道德和法律问题五、GPTBot 的使用方法和限制六、总结 一、GPTBot 简介 OpenAI 推出的网络爬虫GPTBot旨在通过从互联网上收…

进制转换(0123456789ABCDEF)

题目 import java.util.Scanner;public class Main {public static void main(String[] args) {//将十进制数M转化为N进制数Scanner sc new Scanner(System.in);int m sc.nextInt();int n sc.nextInt();StringBuffer sb new StringBuffer();//1String s "0123456789…

从零开始学Python(五)面向对象

&#x1f973;&#x1f973;Welcome Huihuis Code World ! !&#x1f973;&#x1f973; 接下来看看由辉辉所写的关于Python的相关操作吧 目录 &#x1f973;&#x1f973;Welcome Huihuis Code World ! !&#x1f973;&#x1f973; 一.类的定义 二.魔法方法 1.概念 2.常…

Javascript进阶内容

1. 作用域 1.1 局部作用域 局部作用域分为函数作用域 和 块级作用域 块级作用域就是用 {} 包起来的&#xff0c;let、const声明的变量就是产生块作用域&#xff0c;var不会&#xff1b;不同代码块之间的变量无法互相访问&#xff0c;里面的变量外部无法访问 1.2 全局作用域…

【C/C++面试必备】声明和定义的区别

本文来介绍一下声明和定义的区别&#xff0c;本文中的程序以 C/C 为例进行说明。 一、变量的声明和定义 1.1 声明 声明是用来告诉编译器变量的名称和类型&#xff0c;而不分配内存。 例如&#xff1a; extern int var; // 声明extern int ble 10; // 定义typedef int INT;…

2024HW --->反序列化漏洞!

对于反序列化&#xff0c;这个漏洞也是常用的&#xff0c;不过涉及到的方面非常非常广&#xff0c;比其他漏洞也难很多 于是本篇文章就分成PHP和JAVA的反序列化来讲讲 1.反序列化 想要理解反序列化&#xff0c;首先就要理解序列化 序列化&#xff1a;把对象转换为字节序列的过…

默克尔(Merkle)树 - 原理及用途

默克尔&#xff08;Merkle&#xff09;树的原理以及用途 引言 在当今数字化时代&#xff0c;确保数据的完整性是至关重要的。默克尔树作为一种高效的数据结构&#xff0c;被广泛应用于网络安全、分布式系统以及加密货币等领域&#xff0c;用于验证大量数据的完整性和一致性 数…

【HTB】 OpenSource

OpenSource 靶机地址&#xff1a;https://app.hackthebox.com/machines/471 信息收集 ┌──(root㉿kali)-[~/Desktop] └─# nmap -Pn -sC -sV -p- 10.129.212.208 --min-rate5000 Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-04-08 16:01 CST Nmap scan report f…

GPIO口工作原理的超详细解释

一、GPIO基本结构 每个GPIO内部都有这样的一个电路结构&#xff0c;这个结构在本文下面会具体介绍。 这边的电路图稍微提一下&#xff1a; 保护二极管&#xff1a; IO引脚上下两边两个二极管用于防止引脚外部过高、过低的电压输入。当引脚电压高于VDD时&#xff0c;上方的二…

Altair® (澳汰尔)Inspire™ Print3D 打造高效的增材制造设计

Altair &#xff08;澳汰尔&#xff09;Inspire™ Print3D 打造高效的增材制造设计 借助 Inspire Print3D&#xff0c;可加速创新、结构高效的 3D 打印部件的创建、优化和研究&#xff0c;提供快速准确的工具集&#xff0c;可用于实现选择性激光熔融 (SLM) 部件的设计和过程仿…

Bilstm双向长短期神经网络多输入单输出回归分析

目录 背影 摘要 LSTM的基本定义 LSTM实现的步骤 BILSTM神经网络 基于双向长短期神经网络的多输入单输出回归分析,基于bilstm的多输入单输出回归分析 完整代码:Bilstm双向长短期神经网络多输入单输出回归分析.zip资源-CSDN文库 https://download.csdn.net/download/abc9918351…

基于SSM+Jsp+Mysql的快递管理系统

开发语言&#xff1a;Java框架&#xff1a;ssm技术&#xff1a;JSPJDK版本&#xff1a;JDK1.8服务器&#xff1a;tomcat7数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/ideaMaven包…

背包问题四种类型

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、01背包二、完全背包1.引入库 三.多重背包优化&#xff1a; 四.分组背包总结 前言 提示&#xff1a;这里可以添加本文要记录的大概内容&#xff1a; 例如&…

第十三章 OpenGL ES-RGB、HSV、HSL模型介绍

第十三章 OpenGL ES-RGB、HSV、HSL模型详细介绍 第一章 OpenGL ES 基础-屏幕、纹理、顶点坐标 第二章 OpenGL ES 基础-GLSL语法简单总结 第三章 OpenGL ES 基础-GLSL渲染纹理 第四章 OpenGL ES 基础-位移、缩放、旋转原理 第五章 OpenGL ES 基础-透视投影矩阵与正交投影矩阵…

ubuntu23 安装nodejs

在 Ubuntu 23 上安装 Node.js&#xff0c;您可以遵循以下步骤&#xff1a; 步骤 1: 更新系统软件包 首先&#xff0c;确保您的 Ubuntu 系统软件包列表是最新的。打开终端&#xff08;Terminal&#xff09;并运行&#xff1a; sudo apt update输入您的用户密码&#xff08;输…