
C++
huhuolianmeng
爱好电子,正在进军嵌入式,
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C++--自定义内存管理
1、关于动态内存分配2、new / delete的重载3、重载new[] / delete[]4、动态内存申请的结果1、动态内存申请的结果2、跨编译器统一new的行为5、小结1、关于动态内存分配new关键字与malloc函数的区别- new关键字是C++的—部分 ,malloc是由C库提供的函数- new以具体类型为单位进行内存分配 ,malloc以字节为单位进行内存...转载 2020-01-29 19:29:11 · 442 阅读 · 0 评论 -
C++--运算符
运算符是一种告诉编译器执行特定的数学或逻辑操作的符号。C++ 内置了丰富的运算符,并提供了以下类型的运算符:算术运算符关系运算符逻辑运算符位运算符赋值运算符杂项运算符本章将逐一介绍算术运算符、关系运算符、逻辑运算符、位运算符、赋值运算符和其他运算符。算术运算符下表显示了 C++ 支持的算术运算符。假设变量 A 的值为 10,变量 B 的值为 20,则:运算符 描述 实例把...转载 2020-01-29 17:17:29 · 721 阅读 · 0 评论 -
C++--统计对象中某个成员函数的使用次数
#include <iostream>#include <string>using namespace std;class Test{ int m_value; int *const m_pcount;public: Test(int i) : m_pcount(new int(0)) { m_value = i...原创 2020-01-29 16:46:22 · 960 阅读 · 0 评论 -
C++--二阶构造的实现
// #include <iostream>// #include <string>// using namespace std;// class Test// {// int mi;// public:// Test():mi(0)// {// cout << "Test()" << e...转载 2020-01-28 21:45:14 · 355 阅读 · 0 评论 -
C++--面试题:判断—个变量是不是指针
1、面试问题 编写程序判断—个变量是不是指针。 2、指针的判别拾遗C++中仍然支持C语言中的可变参数函数 C++编译器的匹配调用优先级 1. 重载函数 2. 函数模板 3. 变参函数 思路 将变量分为两类:指针 vs 非指针 编写函数:指针变量调用时返回true ,非指针变量调用时返回false 函数...转载 2020-01-28 20:54:11 · 1151 阅读 · 1 评论 -
C++---函数模版与重载的区别
先来看一个例子:#include using namespace std ;//C++函数模版两种定义方式//template < typename T> 或 template template T1 check_max(T1 x, T1 y);template T print_value(T x, T y);//C++重载int add(int x,int ...转载 2020-01-28 17:01:19 · 309 阅读 · 0 评论 -
C++--单例类模板
#include #include #include “Singleton.h”using namespace std;//单例类模板class SObject{friend class Singleton;SObject(const SObject&);SObject& operator = (const SObject&);SObject(){ ...原创 2020-01-28 10:55:19 · 209 阅读 · 0 评论 -
C++--static类成员
0.static修饰类中成员,表示类的共享数据1.static类成员在C++primer里面说过,static类成员不像普通的类数据成员,static类数据成员独立于一切类对象处在。static类数据成员是与类关联的,但不与该类定义的对象有任何关系。这句话什么意思?就是static不会想普通类数据成员一样每一个类对象都有一份,全部类对象是共享一个static类成员的,例如A类对象修改了stat...转载 2020-01-28 10:11:00 · 145 阅读 · 0 评论 -
C++--异常处理1
#include <iostream>#include <string>//如果在工程中用到浮点数进行判断相除的时候,记得进行异常处理判断。using namespace std;double divide(double a,double b,int *valid){ double ret = 0; double delta = 0.000000...原创 2020-01-28 09:58:48 · 157 阅读 · 0 评论 -
C++--智能指针类
#include #include #include “SmartPointer.h”using namespace std;class Test{int i;public:Test(int i){cout << “Test(int i)” << endl;this->i = i;}int value(){return i;}~Tes...原创 2020-01-27 18:35:20 · 136 阅读 · 0 评论 -
C++---函数模板
#include <iostream>#include <string>using namespace std;template <typename T>void Swap(T &a , T& b){ T t = a; a = b; b = t;}template <typename T>v...原创 2020-01-26 16:23:33 · 177 阅读 · 0 评论 -
C++--函数重载、重写、重定义
C++中经常会提到重载,除了重载,还有重写,重定义,下面对这三个概念逐一进行区分1 重载 函数重载是同一定义域中(即同一个类中)的同名函数,但形参的个数必须不同,包括参数个数,类型和顺序,不能仅通过返回值类型的不同来重载函数#includeusing namespace std;class BOX{void func(int a, int b, int c){}void func...转载 2020-01-26 14:55:24 · 424 阅读 · 0 评论 -
C++---多态
#include <iostream>#include <string>using namespace std;class Boss{public: int fight() { int ret = 10; cout << "Boss::fight() : " << ret...原创 2020-01-23 22:44:59 · 139 阅读 · 0 评论 -
C++--静态、、动态联编
#include #include using namespace std;class Parent{public:virtual void func(){cout << “void func()” << endl;}virtual void func(int i){ cout << "void func(int i) : " &l...原创 2020-03-04 08:50:35 · 137 阅读 · 0 评论 -
C++---深拷贝
#include <iostream>#include <string>using namespace std;class Test{ int* m_pointer;public: Test() { m_pointer = NULL; } Test(int i) { m_point...原创 2020-01-21 11:21:21 · 137 阅读 · 0 评论 -
C++-----函数对象
如果一个类将()运算符重载为成员函数,这个类就称为函数对象类,这个类的对象就是函数对象。函数对象是一个对象,但是使用的形式看起来像函数调用,实际上也执行了函数调用,因而得名。#include <iostream>#include <string>#include <sstream>using namespace std;class Fib{ ...原创 2020-01-21 10:54:17 · 162 阅读 · 0 评论 -
C++---字符串循环右移
#include #include #include using namespace std;string right_r_func(const string& s,unsigned int n){string ret = “”;unsigned int pos = 0;//找位置//切//n = n%s.length();pos = s.length() - n;...原创 2020-01-20 15:45:01 · 690 阅读 · 0 评论 -
C++---二阶构造模式
#include using namespace std;class Tw0PhaseCons{private:Tw0PhaseCons(){}bool ConStruct(){ return true;}public:static Tw0PhaseCons* NewInstance();};Tw0PhaseCons* Tw0PhaseCons::NewIn...原创 2020-01-19 15:04:17 · 222 阅读 · 0 评论 -
C++---构造函数的顺序
#include using namespace std;#include “intarray.h”//避免全局对象的依赖。尽量避免不适用全局变量。class Value{private:int mi;public:Value(int mi){cout<<mi<<endl;}};class Test{private:const int i;...原创 2020-01-15 21:17:14 · 133 阅读 · 0 评论 -
C++---拷贝函数
在C++中,有一种特殊的成员函数,它的名字和类名相同,没有返回值,不需要用户显式调用(用户也不能调用),而是在创建对象时自动执行。这种特殊的成员函数就是构造函数(Constructor)。构造函数没有返回值,因为没有变量来接收返回值,即使有也毫无用处,这意味着:不管是声明还是定义,函数名前面都不能出现返回值类型,即使是 void 也不允许;函数体中不能有 return 语句。#ifndef...原创 2020-01-15 19:17:00 · 419 阅读 · 0 评论 -
C++--四种强制类型转换
#include using namespace std;//------static_cast--------// int main()// {// int a = 1;// float b = 3.14;// int *p_a = &a;// float *p_b = &b;// float c = static_cas...原创 2020-01-01 22:09:04 · 312 阅读 · 0 评论 -
C++--C++代码是怎么去调用用C编写的代码?如何保证呢?
math.c使用c语言写的main.cpp是c++写的。gcc -c math.c生成math.oar -r librmath.a *.o//把math.o打包成静态库rmath.ag++ main.cpp -L./ -lrmath-L静态库路径-l静态库名字在math.h中加入extern "C"就行了math.c1 #include “math.h”2 int func(...转载 2020-01-01 16:35:49 · 139 阅读 · 0 评论 -
C++--内联函数
函数是一个可以重复使用的代码块,CPU 会一条一条地挨着执行其中的代码。CPU 在执行主调函数代码时如果遇到了被调函数,主调函数就会暂停,CPU 转而执行被调函数的代码;被调函数执行完毕后再返回到主调函数,主调函数根据刚才的状态继续往下执行。一个 C/C++ 程序的执行过程可以认为是多个函数之间的相互调用过程,它们形成了一个或简单或复杂的调用链条,这个链条的起点是 main(),终点也是 mai...转载 2020-01-01 13:05:30 · 207 阅读 · 0 评论