- 博客(31)
- 收藏
- 关注
原创 构造函数及初始化列表与析构函数
以上的 Computer 中,有一个数据成员是指针,而该指针在构造函数中初始化时已经申请了堆空间的资源,则当对象被销毁时,必须回收其资源。在上面的例子中,构造函数对数据成员进行初始化时,都是在函数体内进行的。1. 对于全局定义的对象,每当程序开始运行,在主函数 main 接受程序控制权之前,就调用构造函数创建全局对象,整个程序结束时,自动调用全局对象的析构函数。注意:每个成员在初始化列表之中只能出现一次,其初始化的顺序不是由成员变量在初始化列表中的顺序决定的,而是由成员变量在类中被声明时的顺序决定的。
2025-11-27 17:06:58
447
原创 类与对象介绍
从认识论来说,首先有具体认知能力,而后才能有抽象认知能力,抽象认知能力是一种高层的,人类特有的认知能力,它使我们可以从大量具体认知中,舍弃个别的,非本质的属性,提取出共同的,本质的属性,是形成概念的必要手段,所以从哲学角度说,是先有对象,然后才有类,类和对象是“一般和特殊”这一哲学原理在程序世界中的具体体现。所以说类是对象的封装,对象是类的实例。有了类的概念,我们就可以只记类的数据和逻辑,而对于具体对象,只要知道它属于什么“类”,一切就都知道了,所需要区分的只是不同对象的数据具有不同值而已。
2025-11-12 21:15:08
537
原创 命名空间与匿名空间
一个大型的工程往往是由若干个人独立完成的,不同的人分别完成不同的部分,最后再组合成一个完整的程序。由于各个头文件是由不同的人设计的,有可能在不同的头文件中用了相同的名字来命名所定义的类或函数,这样在程序中就会出现名字冲突。不仅如此,有可能我们自己定义的名字会与C++库中的名字发生冲突。名字冲突就是在同一个作用域中有两个或多个同名的实体,为了解决命名冲突 ,C++中引入了命名空间,所谓命名空间就是一个可以由用户自己定义的作用域,在不同的作用域中可以定义相同名字的变量,互不干扰,系统能够区分它们。命名空间又称为
2025-11-12 21:14:20
1110
原创 Codeforces Round 1024 (Div. 2)(题解ABCDE)
Codeforces Round 1024 (Div. 2)(题解ABCDE)
2025-05-13 16:27:31
1067
原创 Educational Codeforces Round 178 div2(题解ABCDE)
Educational Codeforces Round 178 div2(题解ABCDE)
2025-04-29 19:05:30
882
原创 Codeforces Round 1021 (Div. 2)(题解ABC)
Codeforces Round 1021 (Div. 2)(题解ABC)
2025-04-27 15:38:06
1134
原创 字符串哈希
字符串哈希的原理就是将每一个字符串映射到一个数上,当然数的范围是非常大的,可以基本容纳到一个字符串对应一个特殊的值,为了避免溢出,可以采用unsigned long long 的类型,可以自然溢出,也就是自动取模。那么现在就是让一个字符串拥有一个特殊的值了,考虑到字符串中字符的先后顺序,可以用一个基数的次方来代替顺序,也就是说可以用字符的ascii值来乘于基数的次方,来实现字符的顺序。在进行字符串匹配的过程中,除了可以用kmp进行高效匹配外,还可以使用字符串哈希来进行高效匹配。
2025-02-28 20:18:26
299
原创 链表(vector,list)
int value;i <= n;cnt = 0;return 0;首先是单向链表vectorvector的创建//创建空链表//创建空间为100,初始始值为0的值//b始a的复制//b复制a的区间(a.begin()+3,a.end()-3)//二维vector的两种创建vector的各种功能函数//添加元素到末尾//从结尾删除元素。
2025-02-25 21:11:11
720
2
原创 分治的思想
快速了解分治策略,几道例题详细讲解(洛谷P1908 逆序对,[CF 1385D]a-Good string,洛谷P1429 平面最近点对(加强版)
2025-01-13 22:24:40
561
1
原创 几个简单的排序(冒泡,选择,插入)
冒泡排序很好理解,每次都是选择一个位置,将这个位置排好,如排一个数组要求是从小到大,先确定最后一个数字,从前向后扫,如果前面的数大于后面的,就交换,即swap(a[j],a[j+1]),整个过程像冒泡泡一样,将最大值传递到指定位置,排完这个位置后,后面不再考虑这个位置,代码如下。插入排序是从小到大思想,让数组逐步扩展,逐步有序,第一开始,从a1开始长度为1的数组一定有序,再扩展到a2,让a1,a2有序,逐步扩展一直到an,每次只用确定一个数。冒泡排序时间复杂度为O(n2),通常只能排1e4个数,多了超时。
2025-01-11 17:17:49
326
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅