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