随笔分类 -  C++

1 2 3 下一页

C++学习
C++中的仿函数Functor
摘要:在C++中,有仿函数Functor的概念,首先要明白,它叫做仿函数,就说明它本身肯定不是一个函数 => 事实上,它是一个类的对象,但是可以像函数一样来进行调用 怎么来理解这句话呢 “仿函数是一个类的对象,但是它可以像函数一样来进行调用”? 是这样的 => 本质是在这个类里面实现一个operator( 阅读全文

posted @ 2024-11-14 16:06 新西兰程序员 阅读(38) 评论(0) 推荐(0) 编辑

C++中的const和constexpr异同比较
摘要:constexpr是C++11引入的关键字,这个关键字用于指明其后面是一个常量,编译器在编译程序时会将其结果计算出来,而无需等到程序运行阶段,这样的优化极大的提高了程序的运行效率 我们知道,C++程序的执行过程,大概需要经历 编译,链接,运行这3个阶段. 这里值得特别关注的是,常量表达式和非常量表达 阅读全文

posted @ 2024-10-23 16:28 新西兰程序员 阅读(19) 评论(0) 推荐(0) 编辑

C++中的左值和右值,以及右值引用
摘要:在C++中有左值和右值:左值和右值其实是C语言中的概念,但是C标准中并没有给出严格的区分方法。普遍的认为是, 放在=左边的,或者能够取地址的,我们称为左值。只能放在=右边的,或者不能取地址的,称为右值. 但有时候这个判断标准也不一定准确。 C++11中,左值和右值的区分标准: 1. 普通类型的变量, 阅读全文

posted @ 2024-09-05 13:19 新西兰程序员 阅读(53) 评论(0) 推荐(0) 编辑

C++中传递参数是指针类型以及传入参数是指针的指针(**)详解
摘要:C++中传递参数是指针时,在函数内部,其实是会复制一份新的指针,只不过这两个指针指向的是同一块内存地址 首先我们要明白一点,在C++传递参数时,不论是传入指针还是传入值,传入函数后都会在函数内部创建一个副本 => 也就是说,传入前的指针或是值不会变. 但是指针有个点就是,函数内部的这个指针副本,和外 阅读全文

posted @ 2024-08-07 17:08 新西兰程序员 阅读(407) 评论(0) 推荐(0) 编辑

C++中GetTickCount函数学习
摘要:在看公司代码时,看到使用GetTickCount()函数 阅读全文

posted @ 2024-06-27 17:02 新西兰程序员 阅读(11) 评论(0) 推荐(0) 编辑

C++中以类的成员函数作为Windows callback函数需要设置成static函数
摘要:在看代码时,发现很多CALLBACK函数,所以仔细研究了一下C++中的CALLBACK函数 首先,我们来理解一下,什么是C++中的CALLBACK函数 => 凡是由你设计,但是由Windows操作系统调用的函数,我们把它统称为CALLBACK函数,这些函数都有一定的类型,以方便配合Windows的调 阅读全文

posted @ 2024-05-29 15:31 新西兰程序员 阅读(23) 评论(0) 推荐(0) 编辑

C++中的悬挂指针和野指针
摘要:悬挂指针(Dangling Pointer), 指的是一个指针它指向已经释放的内存或者无效的内存。当指针指向的内存被释放,这个指针仍然保留着指向之前内存地址的数值,但该地址中的数据已经无效或者被其他数据覆盖 比如一个指针 *Ptr, 它最初指向了一块内存,现在这块内存被释放了,或者这块内存被释放后重 阅读全文

posted @ 2024-04-19 09:53 新西兰程序员 阅读(322) 评论(0) 推荐(0) 编辑

C++中四种不同的对象生存方式(in stack, in heap, global, local static)
摘要:在C++中,有4种方法可以产生一个对象. 第一种方法是在堆栈 (stack) 之中产生它: void TestFunc() { CUser user; //在堆栈 (stack) 中产生user对象 } 第二种方法是在堆积 (heap) 之中产生它: void TestFunc() { CUser* 阅读全文

posted @ 2024-04-18 16:03 新西兰程序员 阅读(10) 评论(0) 推荐(0) 编辑

String类型转LPCTSTR -----理解C++中的字符串类型转换
摘要:在看代码时,发现有时候会把string类型转换为LPCTSTR, 刚开始不理解为什么要做这个转换,所以做了一些调查,现在记录如下 是这样的,STRING是代表C++中的字符串string, 而LPCTSTR代表的是Windows系统中的字符串类型。 也就是说,这样转换的目的是为了把C++中的字符串s 阅读全文

posted @ 2024-04-12 11:34 新西兰程序员 阅读(1039) 评论(0) 推荐(0) 编辑

C++中的虚函数和虚函数表
摘要:在上面一篇博客中 https://www.cnblogs.com/wphl-27/p/18111083,提到了虚函数,纯虚函数 这篇博客我想继续进一步来说一下虚函数和虚函数表 在C++中,每一个含有虚函数的类,编译器都会为它啊做出一个虚函数表(通常叫做 vtable), 这个虚函数表里面的每个元素都 阅读全文

posted @ 2024-04-03 19:09 新西兰程序员 阅读(15) 评论(0) 推荐(0) 编辑

C++中基类指针指向派生类对象
摘要:在看深入浅出MFC这本书时,谈到了C++中基类指针指向派生类对象的情况. 先说结论: 如果你以一个【基类之指针】指向派生类对象, 那么经由该指针(这个基类指针)只能够调用基类中所定义的函数,而不能调用派生类中定义而基类中不存在的函数 我们来看个例子 #include <string.h>class 阅读全文

posted @ 2024-04-02 17:14 新西兰程序员 阅读(368) 评论(0) 推荐(0) 编辑

C++中的常见函数调用约定 (__stdcall, __fastcall, __pascal, __cdecl等)
摘要:C,C++中有函数调用约定的这种说法,什么是函数调用约定呢? =》 函数调用约定主要约束了两件事情: 1. 参数传递的顺序 2. 调用堆栈由哪一方来进行清理 (调用函数还是被调用函数)来进行清理 __stdcall就是函数调用约定中的一种,__stdcall来表示: 第1点: 函数的参数是从右向左压 阅读全文

posted @ 2024-03-05 11:34 新西兰程序员 阅读(45) 评论(0) 推荐(0) 编辑

C++中的函数参数使用常量引用的理解及好处
摘要:在看C++代码时,发现有的代码是这样写的 void SetID(const int &val) { } 我们可以看到这个SetID函数,它的形参就是常量引用类型 const 修饰符 => 表明这个形参变量 val 不能在SetID内部被修改 & 修饰符 => 表明这个变量传递的是引用, 这个我们知道 阅读全文

posted @ 2024-02-23 15:11 新西兰程序员 阅读(97) 评论(0) 推荐(0) 编辑

C++中的static关键字和this指针
摘要:C++中的static关键字用来修饰静态成员变量和静态成员函数, static定义的类的静态成员(成员变量和成员函数) ,它会有一块单独的存储区。 当我们把这个类实例化时,会为类实例化的对象来分配空间,显然此时给对象分配的内存空间不包括静态成员所占的空间。 特别要注意,静态成员变量必须在类中声明,在 阅读全文

posted @ 2024-02-07 16:08 新西兰程序员 阅读(30) 评论(0) 推荐(0) 编辑

C++中的malloc函数
摘要:malloc => memory allocation, 中文名为 动态内存分配。 具体我们来解释一下: 这个函数的原型为 extern void *malloc(unsigned int num_bytes); 分配长度为 num_bytes字节的内存块 返回值: 如果内存分配成功会返回一个voi 阅读全文

posted @ 2024-02-06 16:51 新西兰程序员 阅读(365) 评论(0) 推荐(0) 编辑

C++中的typedef和define的区别
摘要:我们来看看typede和define的区别 define是C++中用来定义宏的,也就是宏定义用的,宏在代码中就是纯粹进行简单的替换,这个替换过程不是在C++的编译过程中进行的,而是在这之前的预处理过程中就已经完成了. 因为它不是在编译过程中进行,所以如果有潜在的错误,很难发现. typedef 说白 阅读全文

posted @ 2024-02-05 15:34 新西兰程序员 阅读(76) 评论(0) 推荐(0) 编辑

C++中的常量指针和指针常量
摘要:这两个概念有点绕口,我们来仔细解释一下 常量指针 => 顾名思义,这个指针是常量,也就说这个指针本身不可以更改 (但指针指向的值是可以更改的) 指针常量 => 指针指向的值是个常量,指的是指针指向的值不能更改 比如 const char *p => const修饰的是*p, 所以*p代表指针p指向的 阅读全文

posted @ 2024-02-05 14:16 新西兰程序员 阅读(6) 评论(0) 推荐(0) 编辑

C++中的函数指针
摘要:C++中的函数指针是一个非常灵活的东西,刚开始接触这个概念时,有点难以理解。看了几篇文章介绍后,想在这里做个总结 首先,我们要明白,在C++中,函数是有地址的。在C++中,可以用函数名来表示函数的地址,也可以在函数名之前加上取地址符合“&”来表示函数地址 比如 下面是一个函数 int add(int 阅读全文

posted @ 2024-01-25 16:59 新西兰程序员 阅读(412) 评论(0) 推荐(0) 编辑

C++中的数据结构 - 红黑树学习
摘要:C++中有一种数据结构-红黑树, 在C++的STL中有一种数据结构map,它就是基于红黑树来实现的 红黑树,是一种二叉搜索树,但是它的每个节点都有颜色,并且只有红和黑两种颜色。所以每个节点上都有一个存储位来表示节点的颜色,可以是Red和Black. 红黑树有一个很大的特点: 它能够确保没有任何一条路 阅读全文

posted @ 2023-11-28 17:32 新西兰程序员 阅读(27) 评论(0) 推荐(0) 编辑

C++实现双向链表
摘要:在数据结构中,有一种是"线性结构", 这种数据结构("线性结构")包括数组,单向链表,双向链表,以及栈和队列 今天,我们主要是来演示一下,如何在C++中实现双向链表 1 #ifndef DOUBLE_LINK_HXX 2 #define DOUBLE_LINK_HXX 阅读全文

posted @ 2023-11-24 12:03 新西兰程序员 阅读(24) 评论(0) 推荐(0) 编辑

1 2 3 下一页
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示