自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 收藏
  • 关注

原创 Spuer().__init__的意义

在Python中,子类不会自动调用父类的构造函数。,我们明确地指示Python调用父类的构造函数。在这里确实是在显式调用。

2024-07-12 18:03:33 276

原创 C++理论期末复习

C错,是的,使用catch(...)可以捕捉任何类型的异常,这表示函数可以抛出任何异常类型。C++处理异常的机制是由检查、抛出和捕获3部分组成如果在try块中没有找到匹配的catch块,异常会传播到调用栈的上一层,即调用该try块的函数或方法中。这也是正确的。C.一种处理程序中意外情况的方法正确的答案是:C. throw;catchthrow;在这个示例中,函数捕获到一个异常,并使用throw;重新抛出该异常。在main函数中再次捕获并处理这个异常。不一定必须继承自std::expection。

2024-07-10 01:23:12 564

原创 关于友元函数的定义与声明

这种设计允许你在需要时仅在类声明中显式指定友元函数,并且在实现时不需要重复指定。在类外部实现友元函数时,不需要再使用。只需定义函数的签名和实现即可。关键字,只需正常地定义函数即可。函数为友元函数的语法。函数时,不需要再加上。关键字声明友元函数。

2024-06-29 15:57:43 143

原创 为什么throw一个类出来,这个类是继承于Exception,能被捕获

异常类继承关系ExceptionExceptiontoString()TriangleExceptionExceptionException&

2024-06-29 15:40:32 305

原创 范围基for循环(range-based for loop)

"范围基for循环"(range-based for loop)是 C++11 引入的一种新语法,用于遍历容器(如数组、向量、列表等)和范围。这种循环使得对容器内所有元素的访问更加直接和清晰,减少了编码错误的可能性,也使代码更易于阅读和维护。

2024-06-25 16:18:59 282

原创 sort()函数的基本运用

如果你想按照不同的标准排序(如降序或根据对象的某个属性),你可以向std::sort提供第三个参数,即一个比较函数或者一个函数对象。比如,使用//greater是模板,所以必须要使用int进行控制C++ 中的std::sort函数不仅可以对容器如进行排序,也可以对普通数组进行排序。对于数列,你可以使用数组或std::array(如果知道数列的大小并且不会改变)。使用普通数组排序i < n;这里使用对数组arr进行排序。arr + n。

2024-06-25 15:03:25 207

原创 STL笔记

/ 访问最后一个元素// 输出: 5// 修改最后一个元素// 输出: 10return 0;利用swap交换空间在 C++ 中,互换容器(swap)是指将两个容器的内容交换。对于使用成员函数swap使用全局函数std::swap这两种方式都可以高效地交换两个vector对象的内容,而不会实际移动元素,从而提高性能。在上一个示例中,自定义比较函数的作用是将列表按照降序排序。这个函数的逻辑是:如果a应该排在b前面,则返回true,否则返回false。对于降序排序,函数应该返回true。

2024-06-17 17:06:48 649

原创 class or struct?

2024-05-27 12:58:10 99

原创 使用self.param方法和posemb_init函数初始化位置

【代码】使用self.param方法和posemb_init函数初始化位置。

2024-04-12 01:36:46 79 1

原创 关于引用特殊情况的编译

引用可能会修改绑定的对象,而临时对象在表达式结束时就会被销毁,这通常是不安全的)。因此,这段代码会导致编译错误。的结果是一个右值(即,一个临时结果,而不是一个具有明确存储位置的变量),而非。引用可能会修改它所绑定的对象,而右值通常不是持久对象,这样的修改没有意义。对象来从字面量构造一个字符串。类型,因此编译器会尝试创建一个临时的。引用不能绑定到临时对象上(因为非。)不能绑定到右值上。这里尝试将一个字符串字面量(在C++中,字符串字面量是。这段代码尝试将表达式。函数,该函数接受一个。

2024-04-08 18:05:38 158 1

原创 拷贝构造函数和拷贝赋值函数

思考:只有一个拷贝构造函数不行吗?回答:在C++中,拷贝构造函数和拷贝赋值操作符虽然执行相似的操作——它们都用于从另一个对象复制数据——但它们在不同的情况下被调用,因此两者都需要定义以确保对象的正确拷贝。

2024-04-08 18:04:02 259 1

原创 一道有关类和new的奇怪的理论题

1. **栈对象:** 尽管类 `A` 的析构函数被删除了,但是你仍然可以在栈上创建 `A` 的实例,如 `A a;` 和 `A* pa = new A;2. **堆对象:** 对于通过 `new` 动态分配的对象,如 `A* pa = new A;总结而言,这段代码试图展示一个具有删除析构函数的类,这导致无法正常销毁该类的对象,无论是自动销毁还是通过 `delete`。但是在尝试销毁任何 `A` 类型的对象时,比如离开作用域时自动销毁局部变量或显式使用 `delete`,都会导致编译错误。

2024-04-01 18:46:22 155 1

原创 static函数和变量在类中的访问

在C++中,静态成员函数不属于类的任何特定对象实例,因此它们没有访问非静态成员变量的能力,因为非静态成员变量是与特定对象实例相关联的。是一个非静态成员变量,而静态成员函数不能访问非静态成员变量。代码尝试在一个静态成员函数中访问一个非静态成员变量。,并在类外初始化为5。静态成员变量在类的所有实例之间共享。随后,无论是通过哪个实例调用。下列c++代码的输出是什么。在你提供的C++代码中,类。被调用时,它将静态成员变量。的值改为10,因此每次调用。,打印的都是静态成员变量。会导致编译错误,因为。

2024-03-25 21:08:46 108

原创 一道很有意思的苟晞函数和构造函数的理论题

当创建类B的对象b1时,首先会调用其成员变量a(属于类A)的构造函数,然后调用类B的构造函数。当对象b1的生命周期结束时(在main函数结束时),首先调用B的析构函数,然后调用A的析构函数。这是因为析构函数的调用顺序与构造函数的调用顺序相反。

2024-03-25 20:52:13 129

原创 python自学

类是通过关键字class定义的,后跟类名和冒号。类名通常使用大驼峰命名法(CamelCase)。pass方法就是类内部的函数类是创建对象的蓝图或模板,它定义了构成对象的属性和方法。对象是类的实例,是根据类模板创建的具体实体,拥有类定义的属性和方法。类是抽象的定义,而对象是具体的实例。私有成员是通过在成员名称前添加双下划线__来定义的。这告诉Python解释器对这些成员名进行改写,以防止它们在类外部被访问。在这个例子中,和都是私有的,只能在MyClass内部访问。

2024-03-05 15:50:37 711 1

原创 一些c++理论逆天题(长期更)

当用在加法表达式中,它会被转换为指向其第一个元素的指针。的第一个字符之后的位置的指针。这种操作利用了 C++ 中的指针算术。字符串的第二个字符开始的子字符串,即。尝试执行一个加法操作,在一个整数 (加到这个指针上,这意味着结果是指向。是一个字符串字面量,其类型为。在 C++ 中,这行代码。) 和一个字符串字面量 ((包含了结尾的空字符。

2024-02-27 21:51:17 411

原创 超算选拔草记

关闭这些服务的好处可以包括减少系统开销,减少安全攻击面,以及简化系统配置。A:firewall可以如图直接关闭,但是selinux有多种关闭方式,我选择了直接彻底关闭(最简单暴力的修改配置文件)。关于 gcc/g++/gfortran/nfs-utils/tmux/htop/vim/git的安装。文件保存了系统的静态主机名,这个文件在系统启动时被读取,以设置系统的主机名。主机名(hostname)是系统的标识名,通常在网络中用于识别设备。比如selinux的报错很复杂,而且会导致操作被阻止带来的麻烦。

2024-01-18 15:54:55 338 1

原创 约瑟夫环问题

题目描述 n (n<=100)个学生排队报数,编号为1到n,然后从1数到3循环报数,每次数到3的人就退出,最后留下来的是编号多少的学生。比如,总共4名学生,编号为1,2,3,4。第一次报数1(报数1),2(报数2),3(报数3),4(报数1),3号退出,第二次报数1(报数2),2(报数3),4(报数1),2号退出,依此类推,直到只剩1名学生,输出其编号。非常值得注意的是循环利用i=(i+1)%num;

2024-01-09 00:35:19 366

原创 c语言理论题期末整理

这些类型有不同的大小和范围,但它们之间的确切大小关系并不是严格定义的,而是依赖于编译器和所运行的平台。综上所述,A(已知常量大小的数组)、B(变长度数组)和C(未知大小数组)可以被视为数组类型的变体,而D(有序数组)是关于数组内容的描述,而非类型的变体。解答:在 C 语言中,当数组作为参数传递给函数时,实际上传递的是数组的首元素地址。在C语言中,一个变量在任何给定的作用域内只能被定义一次,以避免存储空间的重复分配和潜在的冲突。一个数组是否有序,取决于它的内容和如何被程序处理,而不是数组的类型。

2024-01-08 01:25:32 972

原创 链表自学的总结

首先,定义链表节点的结构体。这个结构体包含节点数据和一个指向下一个节点的指针。int data;} ListNode;

2023-12-23 23:51:27 30 1

原创 CASER密码的两种实现

完成字母表加密映射。这是一种优化的方法。

2023-11-27 15:27:37 57

原创 连续子序列的最大和问题

小猫咪玩游戏,现在有n张牌依次放在地上,牌上有数字,数字的范围是-20~20,正数表示可以奖励对应数目的猫粮,负数表示减去对应数量猫粮。猫咪可以从中连续选择k张牌, 0<=k<=n(k=0表示不选牌,即0包猫粮),即能获得数量为k张牌的数字之和的猫粮。实现一个函数,求出猫咪最多能获取几包猫粮,1<=数组长度<=100。已提供main函数解决输入输出,只需要实现函数即可。输出猫咪所能获得的最多猫粮数量。第一行一个数字,数组长度n。接下来的n行输入数组的数字。

2023-11-24 16:30:12 34 1

原创 对于二分查找的代码实现

对于非重复的查找以上任意一种均可实现。直接考虑有重复元素的情况。

2023-11-20 23:43:49 21 1

原创 输入数值并构造‘*‘所组成相应的菱形

【代码】输入数值并构造“*“所组成相应的菱形。

2023-11-10 00:47:52 41 1

原创 马走日及蹩脚的一道题代码

else{int main()int x1,y1;int x2,y2;if(!i<8;i++){i<6;i++){i<6;i++){i<6;i++){i<8;i++){return 0;

2023-11-09 22:13:17 49 1

原创 埃氏筛素数法

i<n;i++){i++){if(!visit[i]){j<n;j+=i){int k=0;prime[0]=2;i<n;i++){if(!visit[i]){return k;int a;i<k;i++){

2023-11-09 15:12:07 27 2

原创 自己写的倒序

int num;int arr[5];int i=0;i++;k<5-i;k++){j<5-i;j++){;num<5-i;num++){return 0;

2023-11-08 21:16:31 22 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除