09 2018 档案
摘要:有符号数的溢出本就是不确定的(标准未定义),编译器不同可能有不同的实现。 但即使是这样(上面两种方式最后结果都一样),上面的结果也是正确的。 复杂的数学推倒就不打算研究了。 通俗理解就是,上面的语句,即使溢出去,也会溢回来。 链接:https://www.nowcoder.com/questionT
阅读全文
摘要:题目描述 时间限制:1秒 空间限制:32768K 明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤1000),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生的学号。然后再把这些数从小到大排序,按照排好的
阅读全文
摘要:有时候类需要它的一些成员与类本身直接相关,而不是与类的各个对象保持关联。 例如一个银行账户类可能需要一个数据成员来表示当前的利率。在此例中,我们希望利率与类关联,而非与类的每个对象关联。从实现效率上来看,没有必要每个对象都存储利率信息。而且更为关键的是,一旦利率浮动,我们希望所有的对象都能使用新值。
阅读全文
摘要:C 语言中提供了 malloc 和 free 两个系统函数, 完成对堆内存的申请和释放。而 C++则提供了两个操作符 new 和 delete。 1、 newnew 分配内存空间时, 分配内存空间大小可能会(一般都是)大于所需空间大小。 因此, new 会分配至少申请大小的内存空间。A、 开辟单变量
阅读全文
摘要:1.const引用: 但是加上const之后是可以的,const int &a=100;就不会报错了。 2.函数占位参数: 如果给最后的占位参数加上默认值: 3.内联函数 内联只是对编译器发起一个申请,编译器可以拒绝用户的请求。内联函数只用在普通函数的开头加上inline关键字。 当编译器发现某段代
阅读全文
摘要:来源:牛客网 下列哪两个是等同的 int b; 1.const int *a = &b; 2.const * int a = &b; 3.const int* const a = &b; 4.int const* const a = &b; 3,4是相同的。 int const *a 和 const
阅读全文
摘要:再有默认参数的函数中,一般我们都把默认参数放在声明处而不是定义处。 如果声明和定义都有默认参数,编译器将会报错。 调用含有默认实参的函数时,我们可以包含参数,也可以省略。 有默认参数的函数,我们可以不带参数调用: 所以,在类里面特别要注意,构造函数如果没有参数,此时又存在有所有参数都有默认参数的构造
阅读全文
摘要:1.register关键字的加强 register修饰符暗示编译程序相应的变量将被频繁地使用,如果可能的话,应将其保存在CPU的寄存器中,以加快其存储速度,这只是一种请求,编译器可以拒绝这种申请。 (1)register变量必须是能被CPU所接受的类型。 这通常意味着register变量必须是一个单
阅读全文
摘要:C++ 命名空间 C++ 应用程序中。例如,您可能会写一个名为 func() 的函数,在另一个可用的库中也存在一个相同的函数 func()。这样,编译器就无法判断您所使用的是哪一个 func() 函数。 因此,引入了命名空间这个概念,专门用于解决上面的问题,它可作为附加信息来区分不同库中相同名称的函
阅读全文