![](https://img-blog.csdnimg.cn/20190830114219941.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
C++
文章平均质量分 87
GeniusIOTboy
因为相信 所以看见
展开
-
细说C++(一):C与C++对比
<1>.C/C++C过程性语言,重点在算法和数据结构。(C作为C++自洽子集)C++面向过程语言,首要考虑如何构造一个对象模型<2>.C++的主要内容基础知识关键字数据类型C++输入输出函数指针类标准库迭代器容器类库输入输出类库(C++标准输入输出)算法(泛型算法)字符串库(字符串数字,字...原创 2018-09-24 16:57:24 · 3433 阅读 · 0 评论 -
细说C++(二十二):关于形参和实参
实参实际的参数,即在生命周期内的,可以说其实实参就是形参,因为每一个参数都都是在一个函数内定义的(全局变量,static除外)形参形式上的参数,由传入的实参进行初始化,生命周期在函数的调用后结束1.传递的形式;传引用;即将形参绑定到传入的实参对象上 尽量使用引用而非拷贝(拷贝大的类型或者容器对象低效) 若无需修改引用的实参,最好使用常...原创 2019-10-27 11:22:29 · 746 阅读 · 0 评论 -
细说C++(二十):操作符重载
操作符重载//原创 2018-11-03 17:29:31 · 157 阅读 · 0 评论 -
一些好的开源C++代码分享
1、leveldb ——google出品的键/值对(Key/Value Pair)嵌入式数据库2、Boost.Asio ——服务器框架3、tinyxml——xml解析器4、tinyhttpd——http服务器5、cJSON ——json解析器6、Memcached —— 一个高性能的分布式内存对象缓存系统7、SQLite——开源的嵌入式关系数据库8、Webbench——是一个在li...转载 2019-03-05 12:00:19 · 1796 阅读 · 0 评论 -
细说C++(十四):数组名,初始化问题
数组名!= 指针表达式计算 数组名和指针等效int a[5], *p = a, *q;q = a + 1;q = p + 1;(解释: 数组名在a+1的过程转化为指针隐式转化,因此上面的两个式子是等效的结果,而不是等价的过程)C/C++中,数组类型跟指针类型是两种不同的派生类型,两种不同类型的实体是不能等价的a在表达式中会转换为一个非对象的符号地址,而指针a却是...原创 2019-03-10 17:59:12 · 244 阅读 · 0 评论 -
细说C++(二十一):C++浅拷贝与深拷贝
问题: 如果类中有指针成员,则必须有拷贝构造函数和拷贝赋值函数深拷贝和浅拷贝的区别是在对象状态中包含其它对象的引用的时候,当拷贝一个对象时,如果需要拷贝这个对象引用的对象,则是深拷贝,否则是浅拷贝如果采用简单的浅拷贝,则两类中的两个指针将指向同一个地址,当对象快结束时,会调用两次析构函数,而导致指针悬挂现象,所以,此时,必须采用深拷贝深拷贝会从堆空间中另外申请数据来存储数据...原创 2019-03-17 16:13:46 · 166 阅读 · 0 评论 -
细说C++(十三):static成员,函数
转化函数Fraction 形式原创 2019-03-17 22:22:20 · 4212 阅读 · 0 评论 -
细说C++(十一):成员访问运算符
点运算符“.” 其中点运算获取类对象的一个成员(1)如果成员所属的对象是左值,则结果是左值(2)如果成员所属的对象是右值,则结果是右值箭头运算符“->”, ,箭头运算获取指针指向对象的成员: 箭头运算符作用一个指针的运算对象,结果为左值表达式ptr->men等价于(*ptr).mem:举例:string s = “hello”, *p = &s;...原创 2019-03-22 17:07:20 · 4947 阅读 · 0 评论 -
细说C++(十五):说一下this指针
thisthis即位隐式的指针,指向调用者本身所有的成元函数都隐式得含有一个this指针#include&lt;iostream&gt;#include&lt;cstring&gt;#include&lt;string&gt;using namespace std;class myclass{ public: myclass()=default; myclass(const...原创 2019-03-23 17:44:32 · 182 阅读 · 0 评论 -
细说C++(十八):new和delete解析-重载 (二)
全局作用域 ::operator new deletevoid* my_alloc(size_t size){ return malloc(size);} void* my_free(void* ptr){ return free(ptr);}inlinevoid* operator new(size_t size){ cout<<"my global n...原创 2019-03-23 22:40:50 · 193 阅读 · 0 评论 -
细说C++(十七):new与delete解析(一)
动态内存分配new分配动态内存:使用自由空间分配得内存是无名的,因此new无法为其分配的对象命名,而是返回一个指向一个该对象指针.delete释放动态内存:注意点:...原创 2019-03-23 23:13:45 · 288 阅读 · 0 评论 -
细说C++(二十三):再谈指针
写在前面 我们该如何称呼 & 与 *& 取地址运算符* 解引用符 指针常量 && 常量指针 常引用 && 引用常量 多维指针令人疑惑的C指针用法#include <cstdio> #include <iostream>using namespace std;int main() ...原创 2019-10-27 11:23:33 · 178 阅读 · 0 评论 -
细说C++(十九):C语言结构体初始化与初始化列表
C语言结构体初始化定义:struct 结构体名{ //成员列表类型名 成员名} //变量列表使用 “.” ,调用结构体各项成员,完成基本操作结构体数组初始化#include<iostream>using namespace std;struct s1{ int a; double b; char c;}data1[2]{{1,2...原创 2019-02-28 22:45:53 · 5196 阅读 · 2 评论 -
细说C++(九):类型转换详解(二)
C++类型转换C++转换的对象可分为:1;基础数据类型2; 指针类型3; 类对象const_cast指针 引用 或者对象指针增加或去除变量的const性void test(){ int a=1; const int&amp;amp; b=a; int&amp;amp; c=const_cast&amp;lt;int&amp;amp;&amp;gt原创 2018-11-03 16:27:04 · 121 阅读 · 0 评论 -
细说C++(八):类型转换详解(一)
关于类型转换C风格形式; Type b=(Type)a;C++(C++提供类型检查,较安全)static_cast一般转换dynamic_cast通常在基类和派生类之间转换时使用const_cast主要针对const的转换reinterpret_cast用于进行没有任何关联之间的转换static_cast//基础...原创 2018-11-03 16:26:05 · 112 阅读 · 0 评论 -
细说C++(二):C++语句
<1>. 1. C++程序结构可分为 顺序结构选择结构 循环结构2.条件语句(循环): if语句 switch语句循环语句(迭代): while语句 for语句 do while语句 跳转语句: break语句 continue语句 goto语句<2>...原创 2018-09-24 17:56:34 · 750 阅读 · 0 评论 -
细说C++(三):C++运算符
----C++中的运算符运算符是一种告诉编译器执行特定的数学或者逻辑操作的符号。C++内置了丰富的运算符。和运算符相关的概念和知识也是C++编程语言中的重要组成部分。这里做一个初步总结。基本运算符主要分为以下五类1,算术运算符 加法运算符(+)、减法运算符(-)、乘法运算符(*)、除法运算符(/)、取模运算符(%)、自增运算符(++)和自减运算符(- -)。满足左结...原创 2018-09-24 22:17:37 · 16572 阅读 · 1 评论 -
细说C++(四):C++存储类型
C++存储类型·(auto,static,register,extern)从变量值存在的角度来分,可以分为静态存储方式和动态存储方式。静态存储方式;指在程序运行期间由系统分配固定的存储空间的方式(程序开始执行时分配,在程序执行完毕时释放,在程序过程中它们占据国定的存储单元,而不是动态分配和释放)。动态存储方式;在运行期间根据需要进行动态存储方式(在程序过程中申请和释放的一些...原创 2018-09-30 21:33:55 · 3979 阅读 · 4 评论 -
细说C++(五):C++位运算详解
位运算C++位运算符(满足左结合律)位运算符作用于整数对象,并将位运算对象看作二进制集合一般来说,若运算对象位“小整型”,则其值会被自动提升运算对象可以为有符号型或无符号型(有符号型;具体如何处理取决于机器,并且左移可能会改变符号位,因此属于未定义行为,不推荐使用)优先级算术运算符 > 移位运算符 > 关系运算符 赋值运算符 ...原创 2018-10-07 15:21:09 · 3761 阅读 · 1 评论 -
细说C++(十):字符串处理技巧--输入/输出方法格式
字符(串)多种输入函数方法(string对象的读入,自动忽略开头空白(换行,空格,制表)符,从严格意义上的第一个真正字符开始读入)首当其冲就是C/C++的基本输入方法 printf()&&scanf() C语言输入输出函数单字符的占位符为“%c”;读取单字符字符串的占位符为“%s”;读取一个中间没有空格且没有换行的字符串 cout&&a...原创 2018-10-20 20:11:58 · 1146 阅读 · 0 评论 -
细说C++(六):关于数组和指针
关于数组和指针指针类型总结a) int a; // An integerb) int *a; // A pointer to an integerc) int **a; // A pointer to a pointer to an integerd) int a[10]; // An array of 10 integerse) int *a[10]; // An a...原创 2018-10-21 11:48:03 · 184 阅读 · 0 评论 -
细说C++(七):const用法全解析
const 用法顶层 const1.常量表达式2.字面值常量const 指针const 引用const 函数体const { } 定义于函数体前2.void function()const;原创 2018-11-03 17:57:23 · 256 阅读 · 0 评论 -
细说C++(十二):指针与引用
指针类型1 void* 空指针2 空指针 (指针为空)3 空悬指针(无效指针)4 函数指针&amp;指针函数5 多重指针原创 2019-03-23 17:06:37 · 176 阅读 · 0 评论 -
细说C++(十六):static用法-全解析
staticstatic修饰局部变量时,使得被修饰的变量成为静态变量,存储在静态区。存储在静态区的数据生命周期与程序相同,在main函数之前初始化,在程序退出时销毁。(无论是局部静态还是全局静态)局部静态变量使得该变量在退出函数后,不会被销毁,因此再次调用该函数时,该变量的值与上次退出函数时值相同。值得注意的是,生命周期并不代表其可以一直被访问,因为变量的访问还受到其作用域的限制。s...原创 2019-01-24 23:48:44 · 576 阅读 · 0 评论 -
细说C++(二十四):左值与右值 11新特性“右值引用”
左值定义:右值定义:右值引用原创 2019-10-27 11:40:21 · 152 阅读 · 0 评论 -
一个简单的C++11线程池实现
线程 thread(支持多线程编程,需要特定的库的支持) 属于某个平台的多线程库:POSIX线程库(Linux),Windows线程库(Windows),三方数据库(Boost线程库) C++ 11标准支持多线程: < thread > : 包含std::thread类以及std::this_thread命名空间。管理线程的函数和类在该头文件中有声明;&l...原创 2019-05-27 09:30:25 · 1236 阅读 · 0 评论