CC++ 常用技巧

news/2025/3/12 12:12:11/

C++ 中的C

  • C 是面向过程的是把整个大程序分为一个个的子函数;
  • C++ 是面向对象的是把整个程序划分为一个个的类。
  • C++ 是完全兼容C 的,C 是C++ 的子集,C++ 是C 的超集。C++ 又对C 做了很多补充和提升,因此使用C++ 会比使用纯C 更方便。
  • 混用C和C++:用C++ 写函数(可能会使用几个现成类),但并没有自己定义类,因此还是在面向过程的范畴内编程。

C++ 的头文件

  • C 的头文件都是以.h结尾的,如stdio.h、string.h。
  • C++ 的头文件分为两类(都没有后缀.h)
    继承自C 的头文件:去掉.h在前面加c,如cstdio、cstring。
    C++ 特有的头文件:如iostream、string。
  • 使用C++ 特有的头文件需在代码开头声明名称空间using namespace std;

常量:const vs define

  • 严格意义上讲C中是没有常量的概念的,所谓的#define N 100只是一种不加任何检查的文本替换C++ 中用关键字const定义常量如const int N = 1010;。
  • 用const的定义的常量是有明确的数据类型的,在程序中可以进行类型检查和转换,更严谨,更规范。
  • 最常用的两个常量
    定义最大数据范围:const int N = 1e3 + 10;
    定义无穷大: const int INF = x3f3f3f3f;

代码模板

 

常见输入输出模式

文件输入

  • 当数据量大且需要多次调试时,每次手工输入或者数据或者复制粘贴效率太低。
  • 可以把输入数据放在同目录下一个文本文件in.txt中,每次程序执行时自动从文件中读取数据。

 

 

EOF 是什么(End of File)

  • EOF 就是-1: #define EOF -1

  • 在输入文件最后的一个不可见字符,占一个字节,ASCII 码为-1,二进制为11111111
    原码1000 0001 -> 反码11111 1110 ->补码1111 1111

 

 

多Case 输入(多个测试用例一起输入)

指定用例组数,需要输出用例序号

 

指定用例组数,不需要输出用例序号

 

不指定用例组数,有结束标记

 

 

不指定用例组数,无结束标记

 

数组大小的问题

全局变量在静态存储区分配内存,局部变量在栈上分配内存。程序运行时会动态创建一个堆栈段,里面存放着调用栈,保存着函数的调用关系和局部变量。如果函数内的数组太大,可能会造成栈溢出。

  • 大数组最好开成全局变量。
  • 或者动态分配内容

数字的大小问题

高精度加法/减法

加法核心代码:

 减法同理,注意a和b之间的大小关系

 


http://www.ppmy.cn/news/1066085.html

相关文章

最强嘴提o.o文字转语音

下载 链接:https://pan.baidu.com/s/1cb24WW2dihtRpMz4giMxyw 提取码:k3xu 解压密码:领航员未鸟 项目源码:https://github.com/Plachtaa/VITS-fast-fine-tuning/tree/main 使用 解压后来到,该目录下,把…

【无标题】idea 中 SpringBoot 点击运行没反应,按钮成灰色

问题描述 在使用 Spring Boot 开发项目时,可能会遇到一个问题:点击运行按钮后,控制台没有任何输出,项目界面也没有显示。这种情况可能是由多种原因导致的,本文将介绍一些常见的解决方法。 解决方法 首先看下Groovy插…

nginx 一个端口配置前后端分离项目访问

nginx 一个端口配置前后端分离项目访问 nginx配置 server {listen 8888;server_name _;location ~ .*\.(gif|jpg|jpeg|png|pdf|txt|zip|rar|7z|doc|docx|xls|xlsx|ppt|pptx|mp3|mp4)$ {root D:/platform/tomcat/apache-tomcat-9.0.31/webapps/resources;}location /api/…

投递技术类简历的注意事项

简历修改的背景 作为程序员,随着工作年限的增加,要定期的去修改自己的简历中的工作项目,一方面可以促进自己复盘一下工作成果和个人成长,另外也能给自己换工作提供一个前置的便捷性。 注意事项 修改简历的时候有哪些需要注意的…

人类与大自然的对立共存关系该如何看(视频)

这个视频是在日本开始排放福岛核污染水之后制作的。 这里面提到了一些ngo组织的不良的行为,比如当年包括央视的一些所谓主持人以及记者干出来的不好的事情。 首先不是说央视有不好的主持人和记者就代表央视不好。只能说影响力越大的地方越可能有一些间谍或者被传染的…

【C/C++】探索内存对齐的奥秘与优势

目录 一,前言 二,什么是内存对齐? 三,内存对齐的原理 四,内存对齐的优势 五,如何实现内存对齐?(看这节就行) 1.使用 #pragma pack 来实现内存对齐的示例 七&#…

golang 使用 viper 加载配置文件 自动反序列化到结构

文章博客地址:golang 使用 viper 加载配置 自动反序列化到结构 golang使用 viper 无需设置 mapstructure tag 根据配置文件后缀 自动返序列化到结构解决结构有下划线的字段解析不成功问题 viper 正常加载配置文件 golang viper 其中可以用来 查找、加载和反序列化JSON、TOML…

使用Miniconda

Conda是一个开源的包和环境管理器,使用它可以在同一台机器上安装不同版本的Python软件包和依赖了。Anaconda和Miniconda都集成了Conda,Anaconda包括更多的工具包,Miniconda则只包括Conda和Python。 在很奇葩的Deepin下Miniconda安装之旅 中,…