随笔分类 - 笔试汇总
摘要:链表原来的顺序{1,2,3} 按照{3,2,1}打印输出 方法一: ①定义一个当前节点 cur;定义当前节点的前一个节点 pre ; 定义一个用于保存当前节点后一个节点的临时节点 temp ② temp保存cur->next; 断开当前节点与后一个节点的连接,指向前一个节点 cur->next=pr
阅读全文
摘要:1、 越前面值越小,在strcmp字符串匹配时,会转换成ASCall值进行比较 最前面是数字码,再是大写字母,最后是小写字母。 常见ASCII码的大小规则:0~9<A~Z<a~z 1、数字比字母要小。如 “7”<“F”; 2、数字0比数字9要小,并按0到9顺序递增。如 “3”<“8” ; 3、字母A
阅读全文
摘要:1、 int a[][3]={{1,2,3},{4,5,6}},(*pa)[3],i; pa=a; for(i=0;i<3;i++) { if(i<2) { pa[1][i]=pa[1][i]-1; } else { pa[1][i]=1; } } printf("%d\n",a[0][1]+a[1
阅读全文
摘要:URL化。编写一种方法,将字符串中的空格全部替换为%20。假定该字符串尾部有足够的空间存放新增字符,并且知道字符串的“真实”长度。(注:用Java实现的话,请使用字符数组实现,以便直接在数组上操作。) 来源:力扣(LeetCode)链接:https://leetcode-cn.com/problem
阅读全文
摘要:给定两个字符串 s1 和 s2,请编写一个程序,确定其中一个字符串的字符重新排列后,能否变成另一个字符串。 示例 1: 输入: s1 = "abc", s2 = "bca"输出: true 示例 2: 输入: s1 = "abc", s2 = "bad"输出: false说明: 0 <= len(s
阅读全文
摘要:实现一个算法,确定一个字符串 s 的所有字符是否全都不同。 示例 1: 输入: s = "leetcode"输出: false 示例 2: 输入: s = "abc"输出: true限制: 0 <= len(s) <= 100如果你不使用额外的数据结构,会很加分。 来源:力扣(LeetCode)链接
阅读全文
摘要:A: 基类型不同的指针变量不可以混用,虽然他们占的字节数相同 B:函数的类型指函数返回值类型,返回值类可以是指针类型 C:函数的形参类型也可以是指针类型 D:double*p类型的指针,指针大小是4个字节,但是double类型大小是8个字节,所以p+1,等于把p指向的地址偏移后8个字节
阅读全文
摘要:答:二维数组可以看做二级指针**p 所以本题中可以看做**a,一级指针存放行指针,每个行指针又指向列元素的地址 A:通过下标直接获取到元素值 B:a[i]获取行下标,a[i]+j地址偏移到列上,*(a[i]+j)加上*号获取元素值 C:(a+i)数组首元素+i偏移量,*(a+i)取行指针,*(a+i
阅读全文
摘要:当类为空时,编译器会为这个类合成构造函数、析构函数、拷贝构造函数、赋值重载函数 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 class Demo { }; void func() { Demo d1,d2,d5;//默认构造函数 Demo d3(d1);
阅读全文
摘要:笔试题1: 1. 重载函数依据形参取判定是否可以重载; 2. 形参个数不同,或者类型不同都是可以重载的类型; 3. 对于形参为引用或者指针的情况下,const版本和非const版本是有区别的,因为传引用是有可能改变原来的参数的。
阅读全文
摘要:我:虚函数是C++实现多态的一种方式,基类的函数被声明为virtual后,派生类可以根据需要重写基类中的虚函数,实现同一调用方式实现不同效果。如果基类中的函数被声明为纯虚函数,该基类就变成一个抽象类,则派生类必须重写该纯虚函数。 书本解释: C++在调用函数的时候,会把该调用与合适的函数定义相匹配,
阅读全文
摘要:书本解释: c++的模板是泛型编程的基础,它使的开发者可以使用一种与具体类型无关的方式来编写代码。模板相当于创建泛型类或泛型函数的一套公式。程序库中有很多容器,例如迭代器与算法都用到了泛型机制,他们采用模板来开发。 每一种容器都只有一个定义,但是它所能容纳的元素类型却可以有很多种,例如可以声明vec
阅读全文
摘要:我:将派生类对象的值赋值给基类对象,那么只会将将派生类从基类继承到的属性字段的值赋值给基类的对应属性,专属于派生类的值则不会被拷贝,这就叫做对象切割。 书本解释: 如果把派生类的对象赋给基类对象,那么前者中与基类对应的那一部分内容,就会拷贝到后者,而前者中所特有的内容则不会得到拷贝,这就叫做对象切割
阅读全文
摘要:我: 当类的属性中有指针变量时,内存空间是动态分配的,如果使用浅拷贝,只能将地址拷贝给新对象,需要使用深拷贝将地址指向的内容也拷贝给新对象。 书本解释: 浅拷贝:将原对象中每一个成员字段的值都拷贝到新对象中。这对于普通变量来说没有问题,但是对于指针型变量则未必成立。因为指针所指的那些内存都是动态分配
阅读全文
摘要:题目: int main(){ int a[5]={1,2,3,4,5}; int *ptr=(int *)(&a+1); printf("%d,%d\n",*(a+1),*(ptr-1)); printf("数组名a=数组首元素的地址= %d\n",a); printf("数组名a+1= %d\n
阅读全文
摘要:会调用拷贝函数的三种情况 (1)使用对象1给对象2初始化 (2)将对象作为函数参数 (3)将对象作为函数返回值输出 书本上的描述: (1)用同类型的另一个对象来初始化某对象 (2)给对象制作拷贝,并将其当做参数传给某函数 (3)给对象制作拷贝,并将其当做函数返回值,返回给调用方 笔试题1: #inc
阅读全文