基础概念
文章平均质量分 67
linersay
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
c指针与函数参数传递方式
今天,知道了一个好像醍醐灌顶的东西,大学四年真的学的太少啦。/ 首先,已经知道C++中的函数参数传递方式有两种:按值传递和按引用传递。其中按引用传递分为,用引用参数和用指针参数传递。一个变量的引用参数和它指向同一地址,所以用引用参数按引用传递,传递的就是原来的参数,而并不是该参数值的拷贝,也是早就知道的。 那用指针参数传递按引用传递,之前的想法可能有错。 指针,假设 int val = 1原创 2017-10-20 10:39:47 · 695 阅读 · 0 评论 -
聚合 耦合
聚合:一个模块内部各成分之间相关联程度的度量。把聚合称之为内聚。要做到高聚合,一个模块仅完成一个独立的功能,模块内部不存在与该功能无关的操作或状态。 耦合:模块之间相关联程度的度量。低耦合,就是将两个模块之间的关联尽可能的降低,一个模块发生变化对于其他模块的影响尽可能的小。 转:点击打开链接转载 2017-01-16 23:00:08 · 760 阅读 · 0 评论 -
模板的声明和定义 头文件与源文件
今天,写了一个List的模板类,然后把它的声明和定义分别放在头文件和源文件中,发现编译不通。然后,就有疑问了,一是为什么那些普通类我们分为头文件和源文件能编译通过,二是模板为什么不行,所以这个编译究竟做了什么,这才是我的问题。当我们对一个solution右键选择生成的时候,会对所有的.cpp进行编译(我感觉哈),每个对应生成一个.obj文件。当cpp进行编译时,那种有include头文件的,就是将...原创 2018-03-22 10:46:47 · 1895 阅读 · 0 评论 -
C++ 导入导出动态库
今天不明白为什么大家在写动态库的时候,都要用到#ifdef @@@@API #else #define @@@@ __declspec(dllimport) #endif为什么明明是导出动态库,还要用到dllimport。是因为别人用到我们提供的动态库的时候,会包含这个头文件,然后他们不会define @@@@API,所以会跳到else里面,他们需要导入,正好。摘抄:C++的dllexport和...转载 2018-03-27 16:59:01 · 2628 阅读 · 0 评论 -
学习STL源码_空间适配器_new
在提供的简单例子中看到一句 new(p) T1(value); 之前一直都没有见过这种用法。搜了一下: C++ 中 new 操作符内幕:new operator、operator new、placement new 这篇文章里面有一篇引用 C++中的new、operator new与placement new 抄一些基本的: new operator/delete operator就是n...转载 2018-09-03 19:37:12 · 374 阅读 · 0 评论 -
关于临时变量的返回
今天写一个+的重载,计算结果只能返回一个临时变量对象,但是这个对象比较复杂,里面有一些指针成员变量。然后,发现在这个函数结束,也就是return这个临时变量时,进到了这个对象的类的析构函数中,这是可以理解的,因为临时变量会在函数结束前析构掉。然后,出了这个重载函数,到调用这个加号重载的那句语句A,在A到下一句之间,又进了一次析构函数。然后我的程序就崩掉了。想了好久,猜到了一个原因应该是返回值的析构...原创 2018-09-17 16:58:58 · 1221 阅读 · 0 评论
分享