- 博客(9)
- 收藏
- 关注
原创 C++特性
1.自动匹配类型(auto) 和 decltype(查询类型)3.移动语义(窃取,修改所以不加eonst)和右值引用。4.std::move()用于将左值转右值。
2024-12-16 22:18:23
365
原创 c/c++小错误
错误,但有些编译器也不会报错,但是值不对。3.当整数除法运算中的一个操作数为负数时,行为表现和具体实现相关(也和编译器相关)a = 12>>31;int a = 12;(范围0~31:参考取值范围)-1%2 可能位为负值,也可能为正值。最小值:-2,147,483,648(-2^31)1.负值转正值的错误(通过(-负值)转换)可以看出最小值是比最大值多出一位的。2.移位运算符号要在范围内。
2024-12-11 22:20:09
402
原创 c/c++语法格式典型案例
一个良好的代码格式使得代码更加清晰易读,这是老生常谈的问题,也是不可忽视的问题,在代码中有时候可能由于大意,粗心,不小心就会多敲,敲错。对于一般的语法错误来说,编译器是可以识别出来的,但是如果不是错误呢,而是语法分析错误呢(这完全是由自己造成的)。队友“人”来说肯定是错的,但是编译器是按照一定规则去运转的,它只认识它固定规则内的语句,你不能奢望它去理解你的弦外之音。如果它能理解的话,程序员怕是快要失业了,,,举个例子,比如说,你的朋友说,你看看有没有菠萝,有的话再买一个苹果。
2024-12-01 21:22:29
220
原创 c++(new和delete的形式要统一)
为什么1.1是错误的,因为我们要注意到,虽然语法是new name,但是其实name是数组类型,申请的也是数组类型,如果我们使用1.1那么编译器就会只释放数组的第一块内存,后续不会去释放,就好像我们拿错误的当票去赎回物品,得到的结果肯定是错的(不要心存侥幸)。2>防止错误,首先要明确new和delete是由程序员自己管理的,假设去当铺典当物品,当铺会给你对应的当单作为赎回依据。1>首先,最简单的依据就是“一致性”,通过统一的语法,程序员可以更直观地理解内存管理。) 也有明确的关系,提高了代码的可读性。
2024-11-24 12:39:19
240
原创 c++前向声明(降低编译依存性)
前向声明的官方说法:在C++编程中,前向声明(forward declaration)是一种重要的技术,用于。注意:只是告诉编译器,跟文件的包含没关系,但是你想要使用其中具体的成员,就得知道定义。告诉 编译器 某个类型(如类或结构)存在,但不提供其完整定义。减少代码依赖和提高编译效率。
2024-11-20 23:41:01
880
原创 C语言词法分析,贪心法
例如,如果在遇到标识符时,它会尽可能多地读取字符,直到遇到不再属于标识符的字符(如空格、符号等)。在 C 语言中,贪心法会从输入字符流中开始读取字符,大家可以试着去解析一下 a++++++b的含义。并尝试匹配最长的词法单元。
2024-11-19 23:13:55
349
原创 什么是线程(线程初解)
假设我们创造,成千上百个线程,我们需要成千上百个环境和cpu吗,这显然是不太现实的,所以这个时候我们就产生了调度策略(决定那个时刻执行那个环境)这一个功能,在联系到我们对于环境的维护是能够重新恢复环镜的,那么我们完全可以假设有4个CPU(默认线程的最优数量是CPU数量减一),这样可以同时执行4个线程,然后等其中一个结束了,空闲的cpu在去执行其他的线程,这样保证我们同时执行的只有4个既提高了性能,又解决了硬件问题。因为有共享的数据,肯定要保证数据的安全性,这就牵扯处理线程安全的概念,怎么保证线程的安全。
2024-11-19 23:08:22
966
原创 c++文件
2.使用方法:通过预处理指令“#include”(实质:include有包含的意思,使用include引入文件按的时候,可以理解为.cpp文件包含.h文件中的内容)答:可以写如一个文件中(参考.hpp文件),但是分文件编写,带来的好处就是,预处理阶段,之后最后合成的源文件较小,.cpp文件会被独立编译,生成目标文件(如。答:写到一个文件中是可以的,但是当代码量庞大的时候,几万行都在一个文件中,想想都觉得可怕,就会出现不便于阅读,逻辑关系混乱等情况。当编译时,以文件作为单位,以主体文件,链接其他文件。
2024-11-18 20:58:56
719
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅