摘要: # 119.模板会写吗?写一个比较大小的模板函数 本程序适合char、int、float类型数据进行比较,差距小于0.01视为相等 ```C++ #include #include using namespace std; //本程序适合char、int、float类型数据进行比较,差距小于0.01 阅读全文
posted @ 2023-07-12 21:43 CodeMagicianT 阅读(172) 评论(0) 推荐(0)
摘要: # 118.main函数的返回值有什么值得考究之处吗? main函数的返回值用于说明程序的退出状态。如果返回0,则代表程序正常退出。返回其它数字的含义则由系统决定。通常,返回非零代表程序异常退出。 ## 1.void main() 有一些书上的,都使用了void main( ) ,其实这是错误的。C 阅读全文
posted @ 2023-07-12 21:43 CodeMagicianT 阅读(387) 评论(0) 推荐(0)
摘要: 117.你知道Debug和Release的区别是什么吗? Debug 用于调试,带调试信息、不优化;Release 用于发布,无调试信息、全优化、体积小、速度快。 1. 核心区别(最常考 5 点) 优化级别 Debug:不优化,方便逐行调试 Release:高度优化(速度 / 体积最优) 调试信息 阅读全文
posted @ 2023-07-12 21:43 CodeMagicianT 阅读(286) 评论(0) 推荐(0)
摘要: 115.如何阻止一个类被实例化?有哪些方法? 核心目的:让编译器无法调用构造函数。 方法 1:将构造函数声明为 private(最经典) class A { private: A() {} // 构造私有 }; // A a; // 错误,无法实例化 方法 2:将构造函数 = delete(C++1 阅读全文
posted @ 2023-07-12 21:42 CodeMagicianT 阅读(574) 评论(0) 推荐(0)
摘要: 116.如何禁止程序自动生成拷贝构造函数? 在 C++ 里,想禁止编译器自动生成拷贝构造、拷贝赋值,有三种常用写法,我按现代 C++ 推荐程度给你排好序: 1. C++11 最推荐:= delete(首选) 直接告诉编译器:禁止生成,也禁止调用 class Test { public: Test() 阅读全文
posted @ 2023-07-12 21:42 CodeMagicianT 阅读(613) 评论(0) 推荐(0)
摘要: # 114.你知道数组和指针的区别吗? 1.数组在内存中是连续存放的,开辟一块连续的内存空间;数组所占存储空间:sizeof(数组名);数组大小:sizeof(数组名)/sizeof(数组元素数据类型); 2.用运算符sizeof 可以计算出数组的容量(字节数)。sizeof(p),p 为指针得到的 阅读全文
posted @ 2023-07-12 21:41 CodeMagicianT 阅读(123) 评论(0) 推荐(0)
摘要: # 113.将引用作为函数参数有哪些好处? 1.传递引用给函数与传递指针的效果是一样的。 这时,被调函数的形参就成为原来主调函数中的实参变量或对象的一个别名来使用,所以在被调函数中对形参变量的操作就是对其相应的目标对象(在主调函数中)的操作。 2.使用引用传递函数的参数,在内存中并没有产生实参的副本 阅读全文
posted @ 2023-07-12 21:41 CodeMagicianT 阅读(204) 评论(0) 推荐(0)
摘要: # 112.说一说strcpy、sprintf与memcpy这三个函数的不同之处 1.复制的内容不同。strcpy只能复制字符串,而memcpy可以复制任意内容,例如字符数组、整型、结构体、类等。 2.复制的方法不同。strcpy不需要指定长度,它遇到被复制字符的串结束符"\0"才结束,所以容易溢出 阅读全文
posted @ 2023-07-12 21:27 CodeMagicianT 阅读(1457) 评论(0) 推荐(1)
摘要: # 111.在进行函数参数以及返回值传递时,可以使用引用或者值传递,其中使用引用的好处有哪些? 对比值传递,引用传参的好处: 1)在函数内部可以对此参数进行修改 2)提高函数调用和运行的效率(因为没有了传值和生成副本的时间和空间消耗) 如果函数的参数实质就是形参,不过这个形参的作用域只是在函数体内部 阅读全文
posted @ 2023-07-12 21:24 CodeMagicianT 阅读(266) 评论(0) 推荐(0)
摘要: # 110.成员初始化列表会在什么时候用到?它的调用过程是什么? 1.当初始化一个引用成员变量时; ```C++ struct MyClass { const int mya; int& myb; MyClass(int a, int& b) :mya(a), myb(b) {} ~MyClass( 阅读全文
posted @ 2023-07-12 21:24 CodeMagicianT 阅读(129) 评论(0) 推荐(0)
摘要: # 109.怎么快速定位错误出现的地方? 1.如果是简单的错误,可以直接双击错误列表里的错误项或者生成输出的错误信息中带行号的地方就可以让编辑窗口定位到错误的位置上。 2.对于复杂的模板错误,最好使用生成输出窗口。 多数情况下出发错误的位置是最靠后的引用位置。如果这样确定不了错误,就需要先把自己写的 阅读全文
posted @ 2023-07-12 21:24 CodeMagicianT 阅读(463) 评论(0) 推荐(0)