编程语言
首页 > 编程语言> > 牛客 C++刷题day33,34

牛客 C++刷题day33,34

作者:互联网

1.一个数组只能进行初始化而不能进行赋值,但可以逐个赋值。这个和整体赋值的说法是有出入的。

2.一定要分清操作符和函数的区别,比如malloc就是函数而++和sizeof就是操作符。

3.构造函数函数名必须和类名相同,这一条就不符合运算符重载的要求。运算符重载的格式为:返回值类型 operator(运算符) (参数)。

4.vector erase以后,itor已经指向下一个元素了,此时不应该执行itor++,这点要注意。 

5.柔性数组

1、什么是柔性数组?

柔性数组既数组大小待定的数组, C语言中结构体的最后一个元素可以是大小未知的数组,也就是所谓的0长度,所以我们可以用结构体来创建柔性数组。

2、柔性数组有什么用途 ?

它的主要用途是为了满足需要变长度的结构体,为了解决使用数组时内存的冗余和数组的越界问题。

3、用法 :在一个结构体的最后 ,申明一个长度为空的数组,就可以使得这个结构体是可变长的。对于编译器来说,此时长度为0的数组并不占用空间,因为数组名

本身不占空间,它只是一个偏移量, 数组名这个符号本身代 表了一个不可修改的地址常量 (注意:数组名永远都不会是指针! ),但对于这个数组的大小,我们

可以进行动态分配,对于编译器而言,数组名仅仅是一个符号,它不会占用任何空间,它在结构体中,只是代表了一个偏移量,代表一个不可修改的地址常量!

6.scanf 和printf不同,它的写入顺序就是从左到右的参数。不像printf从右到左考虑参数。

7.

关于C++的异常处理,下列说法正确的有

 

正确答案: B   

函数指针与该指针所指的函数必须具有相同的noexcept异常说明
异常对象的初始化是通过拷贝初始化进行的
若析构函数中含有throw语句,而其声明中不包含noexcept(false)的显式声明,则编译无法通过
异常对象和异常声明的匹配规则中可以进行类型转换,遵循函数调用的形参、实参的转换规则

 

8.this指针并不是保证基类保护成员在子类中可以被访问。this指针指的是本类(当前类)。

标签:函数,noexcept,day33,34,牛客,数组名,数组,柔性,指针
来源: https://www.cnblogs.com/Tonarinototoro/p/11624403.html