Senior Dogsbody Engineer  

随笔分类 -  C++

  • C/C++ 四种类型转换
    摘要:1. 去常转换 const_cast 把常量指针或引用转换为非常量指针或引用,或者反之,并仍然指向原来的对象。强制转换类型必须是指针或引用。 const int a = 10; const int &b = 20; int& ra = const_cast<int&> (a); // 把常量引用转换 阅读全文
    posted @ 2023-06-09 10:42 高级打杂工程师 阅读(44) 评论(0) 推荐(0) 编辑
  • void* 形参如何传递参数
    摘要:typedef struct { int age; bool gender; string name; } member ; bool getMember(void **pVoid) { member NewMember; NewMember.age = 18; NewMember.gender = 阅读全文
    posted @ 2023-03-01 20:23 高级打杂工程师 阅读(44) 评论(0) 推荐(0) 编辑
  • C++模板类中的静态成员变量的初始化
    摘要:在h文件里变量声明: template <class T, enum EDeviceType g_eDeviceType> class ILocalDeviceProtocolImpl : public T { public: ILocalDeviceProtocolImpl(){}; protec 阅读全文
    posted @ 2023-02-15 14:39 高级打杂工程师 阅读(109) 评论(0) 推荐(0) 编辑
  • map与unordered_map
    摘要:所有的数据都是成对出现的,每一对中的第一个值称之为关键字(key),每个关键字只能在map中出现一次;第二个称之为该关键字的对应值(value)。 map是一种有序的容器,底层是用红黑树实现的,红黑树是一种自平衡的二叉树,可以保障最坏情况的运行时间,它可以做到O(logn)时间完成查找、插入、删除元 阅读全文
    posted @ 2022-12-08 13:50 高级打杂工程师 阅读(41) 评论(0) 推荐(0) 编辑
  • 常用排序算法
    摘要:1、冒泡法 依次比较相邻的两个数,将小数换到前面,大数换在后面。 第一趟,过程如下概述: 首先,比较第1个和第2个数,将小数换前,大数换后。 然后,比较第2个数和第3个数,将小数换前,大数换后。 如此继续,比较第n个数和第(n + 1)个数,将小数换前,大数换后。 直至比较最后两个数,将小数换前,大 阅读全文
    posted @ 2022-11-17 11:27 高级打杂工程师 阅读(27) 评论(0) 推荐(0) 编辑
  • 指针与数组的区别
    摘要:内存分配方式有三种: (1)从静态存储区域分配。例如全局变量,static变量,常量字符串。(2)在栈上创建。函数内局部变量的存储单元都可以在栈上创建(3)从堆上分配,亦称动态内存分配。用malloc或new申请的内存。 注意不要返回指向“栈内存”的“指针”或者“引用”, 数组要么在静态存储区被创建 阅读全文
    posted @ 2022-11-15 09:53 高级打杂工程师 阅读(82) 评论(0) 推荐(0) 编辑
  • C/C++ 编程
    摘要:写一个函数找出一个整数数组中,第二大的数 int find_sec_max(int *data, int count) { int max = data[0]; int sec_max = data[0]; for (int i = 1; i < count; i++) { if (data[i] 阅读全文
    posted @ 2022-11-08 13:11 高级打杂工程师 阅读(36) 评论(0) 推荐(0) 编辑
  • C/C++ 点滴
    摘要:多态分为静态多态和动态多态 1. 静态多态 :静态多态是编译器在编译期间完成的,编译器会根据实参类型来选择调用合适的函数,如果有合适的函数就调用,没有的话就会发出警告或者报错。静态多态有函数重载、运算符重载、泛型编程等。 2. 动态多态: 动态多态是在程序运行时根据基类的引用(指针)指向的对象来确定 阅读全文
    posted @ 2022-11-03 10:17 高级打杂工程师 阅读(31) 评论(0) 推荐(0) 编辑
  • 求一组大数的平均数
    摘要:如果用传统的方法,先把所有的数加起来再除以个数,求和时可能溢出,所以不能用这种方法。 新的算法: 前n(n>0)个数的平均数 = 前(n-1)个数的平均数 + (第n个数 - 前(n-1)个数的平均数)/ n #include <stdio.h> #include <string.h> #inclu 阅读全文
    posted @ 2022-09-08 13:15 高级打杂工程师 阅读(98) 评论(0) 推荐(0) 编辑
  • 两个大数相加
    摘要:#include <stdio.h> #include <string.h> #include "string" using namespace std; //把大数的高位/低位翻转 string reverseString(string str) { int iLen = str.length() 阅读全文
    posted @ 2022-09-08 13:08 高级打杂工程师 阅读(25) 评论(0) 推荐(0) 编辑
  • C++ vector的reserve和resize详解
    摘要:vector 的reserve增加了vector的capacity,但是它的size没有改变!而resize改变了vector的capacity同时也增加了它的size! 原因如下: reserve是容器预留空间,但在空间内不真正创建元素对象,所以在没有添加新的对象之前,不能引用容器内的元素。加入新 阅读全文
    posted @ 2022-09-06 10:31 高级打杂工程师 阅读(232) 评论(0) 推荐(0) 编辑
  • 报数出局问题
    摘要:n个人围成一圈喊1,2,3报数,喊到3的人出局,一直到剩一人。打印出每次出局的人的序号。 #include<iostream> using namespace std; const int PERSION_NUMBER = 17;//人数:一共17人 const int INTERVAL = 3; 阅读全文
    posted @ 2022-09-06 10:04 高级打杂工程师 阅读(15) 评论(0) 推荐(0) 编辑
  • find_if 和 find
    摘要:find_if 按条件查找元素 语法格式: /* 按值查找元素,找到返回指定位置迭代器,找不到返回结束迭代器位置 begin 迭代器开始 end 迭代器结束 comparefunction 函数或者谓词(返回bool类型的仿函数) */ find_if(iterator begin, iterato 阅读全文
    posted @ 2022-08-01 10:17 高级打杂工程师 阅读(223) 评论(0) 推荐(0) 编辑
  • 常用的数据类型所占字节数
    摘要:16位 32位 64位 char 1 1 1 char* 以及其他任何指针类型 2 4 8 short (int) 2 2 2 int 和 unsigned int 2 4 4 float 4 4 4 double 8 8 8 long 和 unsigned long 4 4 8 long long 阅读全文
    posted @ 2022-06-13 16:25 高级打杂工程师 阅读(88) 评论(0) 推荐(0) 编辑

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