c/c++

C++静态关联和动态关联

静态关联 函数重载和通过对象名调用的虚函数,在编译时即可确定其调用的是具体的哪一个函数,其过程称为静态关联,由于是在运行前关联的,所以又叫早期关联。 关于函数重载调用在编译时就可以确定我们不难理解...

浅谈 C++ 中的 new/delete 和 new[]/delete[]

在 C++ 中,你也许经常使用 new 和 delete 来动态申请和释放内存,但你可曾想过以下问题呢? - new 和 delete 是函数吗? - new [] 和 delete [] 又是什么?什么时候用它们? - 你知道 operator new 和 operator ...

链接指示:extern “C”

C++程序有时需要调用其他语言编写的函数,最常见的是调用C语言编写的函数。像其他所有其他名字一样,其他语言中的函数名字也必须在C++中进行声明,并且该声明必须指定返回类型和形参列表。对于其他语言编写的函数...

C++中的重载、覆盖、隐藏?

首先说说概念上的区别 重载:是指允许存在多个同名函数,而这些函数的参数表不同(或许参数个数不同,或许参数类型不同,或许两者都不同)。 重写(覆盖):是指子类重新定义父类虚函数的方法。这里有个需要注...

详解下C/C++中结构和联合

区别 Struct与Union主要有以下区别: 1. struct和union都是由多个不同的数据类型成员组成, 但在任何同一时刻, union中只存放了一个被选中的成员, 而struct的所有成员都存在。在struct中,各成员都占有自己的内存...

switch()的相关注意事项

这是我编程中没有注意到的地方吗,可能是我习惯用case和if的方式代替switch。但是还是需要了解的。 在C/C++中,switch的参数类型只能是bool,(unsigned) char,(unsigned) int,(unsigned) long等整数类型,还有一...

struct和class的区别

首先如果被问倒struct和class的区别时,应该知道,这是对于C++而言的,因为C语言中不存在class关键字。 在C语言中,struct是不可以保护函数的,而且不能被继承,不能实现多态,但是在C++中,struct是可以的。 ...

复杂的C++,当函数返回对象到底发生了什么?

我们知道,当函数运行结束的时候,函数内部的局部变量就会消失,这C/C++里没有任何疑问的规定,但是今天我在写代码的时候突然就想到了一个相当纠结的问题,那就是当我一个函数返回类型是一个对象的时候,以我当时...