C++中的仿函数Functor

摘要: 在C++中,有仿函数Functor的概念,首先要明白,它叫做仿函数,就说明它本身肯定不是一个函数 => 事实上,它是一个类的对象,但是可以像函数一样来进行调用 怎么来理解这句话呢 “仿函数是一个类的对象,但是它可以像函数一样来进行调用”? 是这样的 => 本质是在这个类里面实现一个operator( 阅读全文
posted @ 2024-11-14 16:06 新西兰程序员 阅读(1) 评论(0) 推荐(0) 编辑

C++中的const和constexpr异同比较

摘要: constexpr是C++11引入的关键字,这个关键字用于指明其后面是一个常量,编译器在编译程序时会将其结果计算出来,而无需等到程序运行阶段,这样的优化极大的提高了程序的运行效率 我们知道,C++程序的执行过程,大概需要经历 编译,链接,运行这3个阶段. 这里值得特别关注的是,常量表达式和非常量表达 阅读全文
posted @ 2024-10-23 16:28 新西兰程序员 阅读(7) 评论(0) 推荐(0) 编辑

C++中的左值和右值,以及右值引用

摘要: 在C++中有左值和右值:左值和右值其实是C语言中的概念,但是C标准中并没有给出严格的区分方法。普遍的认为是, 放在=左边的,或者能够取地址的,我们称为左值。只能放在=右边的,或者不能取地址的,称为右值. 但有时候这个判断标准也不一定准确。 C++11中,左值和右值的区分标准: 1. 普通类型的变量, 阅读全文
posted @ 2024-09-05 13:19 新西兰程序员 阅读(14) 评论(0) 推荐(0) 编辑

C++中传递参数是指针类型以及传入参数是指针的指针(**)详解

摘要: C++中传递参数是指针时,在函数内部,其实是会复制一份新的指针,只不过这两个指针指向的是同一块内存地址 首先我们要明白一点,在C++传递参数时,不论是传入指针还是传入值,传入函数后都会在函数内部创建一个副本 => 也就是说,传入前的指针或是值不会变. 但是指针有个点就是,函数内部的这个指针副本,和外 阅读全文
posted @ 2024-08-07 17:08 新西兰程序员 阅读(217) 评论(0) 推荐(0) 编辑

C++中GetTickCount函数学习

摘要: 在看公司代码时,看到使用GetTickCount()函数 阅读全文
posted @ 2024-06-27 17:02 新西兰程序员 阅读(4) 评论(0) 推荐(0) 编辑

C++中以类的成员函数作为Windows callback函数需要设置成static函数

摘要: 在看代码时,发现很多CALLBACK函数,所以仔细研究了一下C++中的CALLBACK函数 首先,我们来理解一下,什么是C++中的CALLBACK函数 => 凡是由你设计,但是由Windows操作系统调用的函数,我们把它统称为CALLBACK函数,这些函数都有一定的类型,以方便配合Windows的调 阅读全文
posted @ 2024-05-29 15:31 新西兰程序员 阅读(15) 评论(0) 推荐(0) 编辑

C#中的System.Security.SecureString学习

摘要: 有一次在公司review代码时,有一个password的字段,原来用的是String类型,有同事提到应该用SecureString比较好 于是我花了点时间了解了一下什么是SecureString, 以及它与String类型的区别 正常的String类型值,在脱离开作用域后,它的值在内存中并不会立即被 阅读全文
posted @ 2024-05-10 15:00 新西兰程序员 阅读(131) 评论(0) 推荐(0) 编辑

C++中的悬挂指针和野指针

摘要: 悬挂指针(Dangling Pointer), 指的是一个指针它指向已经释放的内存或者无效的内存。当指针指向的内存被释放,这个指针仍然保留着指向之前内存地址的数值,但该地址中的数据已经无效或者被其他数据覆盖 比如一个指针 *Ptr, 它最初指向了一块内存,现在这块内存被释放了,或者这块内存被释放后重 阅读全文
posted @ 2024-04-19 09:53 新西兰程序员 阅读(246) 评论(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 新西兰程序员 阅读(9) 评论(0) 推荐(0) 编辑

C#中使用Parallel类来进行多线程并发编程

摘要: 在新西兰工作时,有一次的面试中问到了Parallel类进行多线程编程 我们知道,C#中实现多线程编程有多种方式,包括 1. 使用Thread开启一个新的线程 2. 使用Parallel类 3. 使用Task 我们今天来说一下C#中的Parallel类,Parallel类是C#中可以用来进行多线程编程 阅读全文
posted @ 2024-04-17 10:34 新西兰程序员 阅读(388) 评论(0) 推荐(0) 编辑