c++
文章平均质量分 57
Silen_p
这个作者很懒,什么都没留下…
展开
-
c++的RVO
返回值优化 RVO (return value optimization)命名返回值优化 NRVO (named return value optimization)这两个的关系应该是RVO包括NRVO(有命名对象的返回值优化 和无命名对象的返回值优化)下面主要讨论的是NRVO1.NRVO#include <cstdio>#include <iostream>using namespace std;class TestClass {public: T原创 2022-05-06 17:14:30 · 842 阅读 · 0 评论 -
c++ 正确的单例模式
1.单例模式单例模式是最最常见的一种模式,平时开发过程中用的也挺多的,目的是:只有一个实例,这个实例可以只持有一份全局共用的数据,也可以是仅持有一堆接口,等等,能用上单例模式的很多。最近在检视别人和自己的代码过程中,发现了一些常见的错误/问题,在此处列举一下2.单例模式规范2.1 单例模式的接口类型:1.返回引用型Singleton &Singleton::GetInstance(){ static Singleton instance; return instanc原创 2022-03-10 21:10:13 · 1633 阅读 · 0 评论 -
c++ 通过模板编译期计算是否具有某个成员函数(可变模板函数及普通函数)
判断函数是否具有某个成员函数:template<typename U>struct Has_Func { template<typename T, uint32_t (T::*)(uint32_t) const = &T::Func> static constexpr bool Check(T *) { return true; } static constexpr bool Check(...) { return false; }原创 2021-07-16 16:43:00 · 479 阅读 · 1 评论 -
c++表驱动
表驱动:1种用于代替多层if-else/ switch case的一种处理方式根据不同的输入(msgType),进行不同的处理(函数指针)或赋值在c语言中表驱动格式往往是:struct { MsgType msgType; FuncPtr funcPtr;} Select handle[] = { {....}, {....}, {....}, {....}, {....},};if (...) { // 根据类型选择相应的函数/处理 handle[msgType->Idx]原创 2021-05-30 15:02:26 · 2278 阅读 · 0 评论 -
leetCode刷题记录(五月)
一个月没更新了。。最近近况:h公司试用期的第二个月。压力挺重,每天基本都是各种加班,9点或者十点半的班车,甚至错过班车,从东莞回到宿舍都是10点以后的事。。实在没这个精力每天晚上都跑来这更新一下(吐槽一下公司内网保密不能更博,要不然平时上班时间闲暇的时候还可以更一下)打卡还是有打的,一次性把这个月的所有题目都发出来就算了。。图也懒得贴了,主要写解题思路以及贴代码2020.5.1 合并两个有序链表(简单)思路:略/** * Definition for singly-linked list.原创 2020-05-31 16:54:20 · 413 阅读 · 0 评论 -
c++ 11 thread使用
c++11推出的封装类,网上说法褒贬不一,有说让线程简单很多的,而且跨平台的,也有说这个写的很多功能不该做,或者该有的功能没写linux底下编程可能会更推荐用Pthreads ?或者两个结合一起使用反正刚转语言,啥都不懂,都研究一下。。1.调用类内方法,带参数及不带参数class ThreadTest {public: static void f1() { int cnt = 5;...原创 2020-03-12 16:03:02 · 184 阅读 · 0 评论 -
leetCode刷题记录(三月)
最近leetCode由于疫情推出的每日刷题活动?正好开始着手换c++,先拿来练一下手发现晚了,从3号开始打卡记录,定期更新:2020.3.3 合并排序的数组(简单)思路:原数组已经从小到大排序了,合并时从后往前,从大到小赋值即可class Solution {public: void merge(vector<int>& A, int m, vector<...原创 2020-03-04 17:02:36 · 362 阅读 · 0 评论