随笔分类 -  C++

11
摘要: 阅读全文
posted @ 2019-10-07 20:04 心媛意码 阅读(10443) 评论(0) 推荐(0)
摘要:string的size(), length() 和 char[]的strlen()都是不包括‘\0'的,他们都是“外貌协会”的,只停留在表面。而sizeof则是从内存角度来反映,它是包括’\0‘的。注意sizeof(指针)只是表示指针所占的内存大小。 1 #include <iostream> 2 #include<string> 3 #include<cstring> 4 5 using nam 阅读全文
posted @ 2019-10-07 18:59 心媛意码 阅读(8563) 评论(0) 推荐(0)
摘要:地址:https://zhidao.baidu.com/question/629188090208609884.html最近写代码过程中,发现 Debug 下运行正常,Release 下就会出现问题,百思不得其解,而Release 下又无法进行调试,于是只能采用printf方式逐步定位到问题所在处, 阅读全文
posted @ 2019-10-07 17:02 心媛意码 阅读(279) 评论(0) 推荐(0)
摘要:简书文章:https://www.jianshu.com/p/99efda8dfec9 阅读全文
posted @ 2019-10-04 11:24 心媛意码 阅读(152) 评论(0) 推荐(0)
摘要:异同点: size_t size_type sizeof(XXX)所得到的结果的类型就是 string类类型和vector类类型定义的类型,string的size操作返回来的是string::size_type类型,不可把string::size_type赋给int. 全局定义的类型,比如用在数组中 阅读全文
posted @ 2019-10-03 16:49 心媛意码 阅读(201) 评论(0) 推荐(0)
摘要:c++创建对象的语法有 1 在栈上创建 MyClass a; 2 在堆上创建加括号 MyClass *a= new MyClass(); 3 不加括号 MyClass *a = new MyClass; 4. MyClass a();声明了一个返回值为MyClass类型的无参函数。 1 #inclu 阅读全文
posted @ 2019-10-03 15:48 心媛意码 阅读(588) 评论(0) 推荐(0)
摘要:节选自:windows下编译和使用动态库dll http://blog.eonew.cn/archives/865 Microsoft 在 Visual C++ 的 16 位编译器版本中引入了 __export,使编译器得以自动生成导出名并将它们放到一个 .lib 文件中。 然后,此 .lib 文件 阅读全文
posted @ 2019-10-02 15:36 心媛意码 阅读(240) 评论(0) 推荐(0)
摘要:1.reset的作用: reset() 相当于释放当前所控制的对象reset(T* p) 相当于释放当前所控制的对象,然后接管p所指的对象reset(T*, Deleter) 和上面一样 2.get: 获取对象指针 阅读全文
posted @ 2019-09-30 22:02 心媛意码 阅读(153) 评论(0) 推荐(0)
摘要:delete操作: 我们在删除一个指针之后,编译器只会释放该指针所指向的内存空间,而不会删除这个指针本身。 1.假如你不去释放,那么该区域的内存始终不能被其他数据所使用。2.指向该内存的指针是个局部变量,当定义给指针的函数结束并返回时,指针也就消失了,那么就再也找不到该块的内存区域。假如指向该内存区 阅读全文
posted @ 2019-09-28 22:54 心媛意码 阅读(571) 评论(0) 推荐(0)
摘要:整理自李建忠<C++设计模式>视频:https://www.bilibili.com/video/BV1kW411P7KS?p=8 一.导入:"对象创建"模式和工厂模式 工厂模式只是该模式下的一种. 二.举例说明 有这样一个场景:需要在MainForm中设计一个按钮,这个按钮具有文件分割的功能,支持 阅读全文
posted @ 2019-09-28 21:21 心媛意码 阅读(688) 评论(0) 推荐(1)
摘要:Put as much as you can in the .c and as little as possible in the .h. The includes in the .c are only included when that one file is compiled, but the 阅读全文
posted @ 2019-09-28 19:20 心媛意码 阅读(279) 评论(0) 推荐(0)
摘要:goto: 函数调用: 作用域 label在函数内定义,所以函数内 跳转操作 无条件 调用时先保存现场,复制实际参数,然后才是跳转 生存期 由于不是左值,它没有生存期,仅在编译期有意义. 程序员对当前代码行断行 程序对代码进行断行 例子:#include <iostream.h> void main() { int i=1,s=0; re: s=s+i; if (i<100) { i=i+1; g 阅读全文
posted @ 2019-09-27 21:13 心媛意码 阅读(701) 评论(0) 推荐(0)
摘要:在预处理阶段,就是直接把头文件代码粘贴到你写的.c文件中,接下来编译器编译生成目标文件 编译器是无法通过头文件找到库文件的,要手动指定编译选项,VS编译器有特殊处理所以可以通过program指定库文件。 阅读全文
posted @ 2019-09-25 21:18 心媛意码 阅读(150) 评论(0) 推荐(0)
摘要:整理自百度知道:https://zhidao.baidu.com/question/577526027.html 不一定需要。创建一个库一般处于一下两种目的:1、把一些相关的代码,打包成一个库,发布给其它的人用。这中情况是最常见的情况,如写 C 语言用到 libgcc。在这种情况下,你除了提供库文件 阅读全文
posted @ 2019-09-25 21:02 心媛意码 阅读(1844) 评论(0) 推荐(0)
摘要:整理自CSDN的论坛中,地址:https://bbs.csdn.net/topics/390703249 0.能够用this指针传递参数的原因是,线程之间的内存地址用的是同一套,即线程A中指针1指向的位置在线程B中仍然成立。 1.不同的线程不是两个独立的程序:线程不是进程(process是你说的程序 阅读全文
posted @ 2019-09-24 09:43 心媛意码 阅读(2106) 评论(0) 推荐(0)
摘要:调用CreateThread(...)创建线程时要指定所创建线程的入口函数,此入口函数只能是全局函数或者类的静态成员函数。 全局函数很容易理解,但如果是类的成员函数则必须是静态成员函数,为何, 因为类的非静态成员函数只能通过类的对象去调用,但是创建线程时从哪里能获得类的对象而去调用类的成员函数呢? 阅读全文
posted @ 2019-09-23 22:26 心媛意码 阅读(735) 评论(0) 推荐(0)
摘要:源地址:https://blog.csdn.net/qq_33266987/article/details/53333373 Qlist、QVector 与 list、vector似乎不太类似; list插入删除很快,vector查询很快。 但QList 是基于index标签存储它的元素项在内存(虽 阅读全文
posted @ 2019-09-17 21:36 心媛意码 阅读(1525) 评论(0) 推荐(0)
摘要:vector注意事项: 如果你添加元素,但是vector的容量(是容量,不是大小,容量比大小大,会预先多分配空间)不够的话,系统就会重新分配一段内存,然后把原先的内容全部拷贝过去,然后删除原先的内容。所以,如果你设定了一个指向vector的指针,或者说迭代器,在你添加元素之后,这个指针(迭代器)需要 阅读全文
posted @ 2019-09-17 21:34 心媛意码 阅读(200) 评论(0) 推荐(0)
摘要:优质文章: 函数指针和指针函数的区别:https://blog.csdn.net/luoyayun361/article/details/80428882 函数指针的声明方法为: 返回值类型 ( * 指针变量名) ([形参列表]); //后面的形参列表表明,指针指向的是哪个函数,应对函数的重载 注1 阅读全文
posted @ 2019-09-16 11:19 心媛意码 阅读(138) 评论(0) 推荐(0)
摘要:https://blog.csdn.net/yvhvv/article/details/8474356 一直报某个构造函数无法解析,但看了下代码中没有问题,后来把debug文件夹删掉,重新运行后问题解决。 阅读全文
posted @ 2019-09-15 16:13 心媛意码 阅读(1387) 评论(0) 推荐(0)