C++学习
_Maple_H
希望提升自己技术的Student
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C/C++堆栈区别
最近在看C++时,看到了一篇对堆栈介绍非常好的博客,在此分享一下,感谢大佬http://www.cnblogs.com/chenleiustc/archive/2011/04/08/2009994.htmlC内存区域分为四部分:栈区:有编译器自动分配释放堆区:由程序员自己使用malloc分配,使用free释放全局静态区:存放全局变量与静态变量,函数内部的静态变量只能在函数内部...转载 2018-10-22 22:24:16 · 336 阅读 · 0 评论 -
Effective C++学习笔记(四)
条款18设计出“容易使用,不容易被误用”的接口例如设计一个Date类class Date {public: // 因为三个成员的类型相同,就很容易被误用,不是所有人都会按照 月 日 年 来传入参数 // 并且 年 月 日 都有明显的界限,若超过这个界限就是不合适的,我们设计接口时应该 使用户不会出现这种情况,不能寄希望于用户自己 Date(int _month, i...原创 2019-07-07 15:39:14 · 240 阅读 · 0 评论 -
套接字编程--小点
最近在看libevent网络库时,发现网络编程还可以这样写,将服务器的创建和客户端的创建写在同一个函数中,最终将他们返回的套接字放入一个fd[2]数组中,这样就可以在多个程序中复用这两个描述符。最终写了一个简单的小例子进行说明。listen()listen()函数的作用是监听服务器端创建的套接字是否有对端进行连接,并且可以指定最大的连接数目。但与此同时listen会将socket()创建的主...原创 2019-05-16 14:37:03 · 154 阅读 · 0 评论 -
C/C++字符串格式化
C 字符串格式化sscanf()用于格式化字符串与scanf()类似,但scanf()以键盘为输入,但sscanf()以固定字符串为输入源int sscanf(char *buffer, const char *format, [argument]...);// format:一个或多个{%[*] [width] [{h | I | I64 | L}]type | ' ' | '...原创 2019-03-27 17:19:37 · 4569 阅读 · 0 评论 -
Effective C++学习笔记(二)
目录条款05条款06条款07条款08条款09基类与派生类的构造与析构:条款10条款11条款12条款05C++的空类中包含哪些函数?这些函数在调用时生成。 默认构造函数 拷贝构造函数 赋值构造函数 析构函数 编译器自己生成的析构函数是non-static,除非该类的基类自身有virtual析构函数 C+...原创 2019-04-10 11:51:44 · 278 阅读 · 0 评论 -
Effective C++学习笔记(一)
目录条款01条款02条款03条款04条款01内置类型,值传递比引用传递更高效。 用户自定义类型,因为存在构造函数和析构函数,使用pass-by-reference-const会更好,尤其是使用模板时。条款02尽量以cosnt,enum, inline,替换#defineclass的专有常量,一般将常量的作用域限制于class中,此时它应该为一个成员变量,为了确...原创 2019-04-10 11:48:30 · 324 阅读 · 0 评论 -
STL迭代器与算法
STL常用算法常用容器迭代器容器 迭代器类型 vector 随机存取迭代器 deque 分段连续,是一种假的连续,随机存取迭代器 list 双向迭代器 string 随机存取迭代器 set 双向迭代器,元素为常量 multiset 双向迭代器,元素为常量 map 双向迭代器,key值为常量 multimap ...原创 2019-04-04 16:37:32 · 272 阅读 · 0 评论 -
输入输出缓冲区
C风格输入输出又称为标准I/O ,实现了三种类型的缓冲: 全缓冲:填满标准I/O缓冲区后才进行实际I/O操作 对于磁盘上的文件通常是实施全缓冲的 当缓冲区满时,标准I/O会自动flush缓冲区 或者调用fflush()函数来flush一个流 标准I/O方面,flush意味着将缓冲区内容写入磁盘,在终端驱动方面,flush表示丢弃存...原创 2019-03-12 17:07:04 · 334 阅读 · 0 评论 -
常用数据结构----二叉查找树(C实现)
二叉查找树二叉查找树 其 基本的执行操作的时间与树的高度成正比。对于n个节点的 完全二叉查找树 操作的最坏情况为 lgn但对n个节点的线性链来说,操作的最坏情况为 n。总之,一个随机构造的二叉查找树的期望高度为 lgn, 基本动态集合操作的平均时间为 lgn二叉查找树性质某节点的左子树节点值均小于该节点值,右子树节点值均大于该节点值。二叉搜索树 按 树的中序遍历 可以得到 从...原创 2019-03-04 17:09:11 · 532 阅读 · 0 评论 -
UNIX网络编程记录(一)
套接字编程 地址转换函数 inet_addr:in_addr_t inet_addr(const char *strptr) 将点分十进制的IP转换为长整数类型(u_long) inet_ntoa:char* inet_ntoa(struct in_addr in) 将十进制网络字节序转换为点分十进制IP格式的字符串 inet_pton:int inet_pton(int af,...原创 2019-02-25 21:10:30 · 385 阅读 · 0 评论 -
C++11新特性输出
在看到C++11 的一些特性之后,发现打印一个集合内的元素的方法除了我们之前写的for循环,还能够有更简单的写法,并在其中应用了一些特性。// 打印1:for (auto &e : v) { std::cout << e << std::endl;}// 打印2:使用copy算法std::copy(v.begin(), v.end(), s...原创 2019-03-01 16:53:56 · 423 阅读 · 0 评论 -
More Effiective C++
More Effiective C++在看More Effective C++的基础上,总结出一些需要注意的点1.区别pointer与referencereference一定会指向对象,不能指向空,指向不会变pointer可能指向空对象,null,指向的对象可以变化reference 使用时不用测试其有效性,因为它不可能指向null/当指向内容不变,或返回值要当左值时,需使用引用。 ...原创 2018-10-22 22:53:16 · 232 阅读 · 0 评论 -
Effective C++学习笔记(三)
条款13用对象来管理资源为防止资源泄露,使用资源管理对象来构造资源和析构资源,最好在获取资源的同时进行初始化最常见的资源管理对象为智能指针,std::auto_ptr与 std::shared_ptr,通常 std::shared_ptr会更好。但是在使用时一定要将对象指针存储于智能指针对象内,智能指针只能对阵堆上的内存管理class Investment { ...};I...原创 2019-07-07 15:33:22 · 234 阅读 · 0 评论
分享