
C++
文章平均质量分 51
extend_die
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Effective C++ Item1
1.视C++为语言联合体 1)C部分 blocks(模块) statements(语句) preprocessor(预处理器) built-in data types(内建数据类型) arrays(数组) pointers(指针) 预处理器是干什么的呢 预处理器 C/C++预处理器什么都不会做,只是做宏替换和文本替换。C/C++预处理是不会做任何语法检查的,不仅是因为它不具备语法检查原创 2015-08-31 16:52:09 · 341 阅读 · 0 评论 -
c++11 多线程 二 锁和互斥量
Locks mutex(互斥量)是 核心同步原语(原语:OS术语,由若干指令组成,用于完成一定功能的一个过程)。在头文件中 有四种不同形式的的互斥量: •mutex:提供核心方法lock() unlock() 无阻塞 try_lock()(返回互斥量是否无法使用) •recursive_mutex:允许同一线程多次获得互斥量 •timed_mutex:和mutex一样,但比它多两原创 2015-12-01 16:49:00 · 640 阅读 · 0 评论 -
C++11 智能指针 unique_ptr shared_ptr weak_ptr
智能指针 智能指针是基于RAII机制实现的类(模板),具有指针的行为(重载了operator*与operator->操作符),可以“智能”地销毁其所指对象。C++11中有unique_ptr、shared_ptr与weak_ptr等智能指针,可以对动态资源进行管理。智能指针是类而不是指针 shared_ptr shared_ptr是一种引用计数指针,没有任何其它的shared_ptr原创 2015-11-26 13:59:51 · 1484 阅读 · 0 评论 -
C++内存管理
C++内存管理 本篇为笔记 一 基础部分 1.c++内存分为5个区:栈,堆,自由存储区(与堆类似,用malloc分配,free释放)全局/静态存储区,常量存储区 堆与栈: 1、管理方式不同; 2、空间大小不同; 3、能否产生碎片不同; 4、生长方向不同; 5、分配方式不同; 6、分配效率不同; 管理方式:对于栈原创 2015-11-25 15:42:57 · 1432 阅读 · 0 评论 -
c++多线程 二
引言 C++11 是 2011 年 9 月 1 号发布的。C++11 在 C++03 的基础上做了大量的改进,引入了很多新的特性,比如 Lambda 表达式,右值引用,统一的列表初始化方式,正则表达式等等。当然,其中最令人激动的特性是新标准引入了原子操作类和线程支持库。C++ 一直在语言层面缺少对多线程的支持,因此 C++11 新标准基本上弥补了这一缺陷。可以毫不夸张地说,C++11 相当于转载 2015-10-30 14:12:10 · 552 阅读 · 0 评论 -
c/c++ 回调函数
回调一般是指一个模块中提供一个过程,通过另一个模块的API进行注册,然后由后者负责调用。简言之,前者负责提供函数或子过程,后者负责调用。 举两个最常见最简单的例子: 1。Windows的计时器机制:应用程序的开发者编写一个函数,用来完成一件事情,然后通过Windows系统的API:SetTimer注册到系统中,于是每当用户设置的时间间隔到来时,前面说的那个函数就被系统自动调用执行。这个函数就是转载 2015-10-29 15:58:02 · 1289 阅读 · 0 评论 -
Effective C++ Item3
只要可能就用const 1.const 指针 T* const p p 是const *p非const p = p++ //ok *p = xx //error const T* p p非const *p是const p = p++ //error *p=xx //ok 注意:这两种类型作为函数参数传递没有区别 2.const 成员函数 返回类型为const 引用原创 2015-09-06 14:25:59 · 411 阅读 · 0 评论 -
Effective C++ Item2
用const enum inlines 取代 #define 这个 Item 改名为“用 compiler(编译器)取代 preprocessor(预处理器)”也许更好一些,因为 #define 根本就没有被看作是语言本身的一部分 1)常量 2)函数 参数自增情况下,#define会出问题 #define 适用情况 1)需要特定的宏定义满足编译选项需求 2原创 2015-08-31 17:23:11 · 361 阅读 · 0 评论 -
C++11 多线程 一
本周决定 搞定c++11 多线程 Threads std::thread 在头文件,可以配合常规函数,匿名函数(lambdas),仿函数使用,并支持传递任意类型和个数参数传递给绑定的线程函数 #include "stdafx.h" #include #include #include void func(int n1, int n2, std::string str)原创 2015-11-30 13:34:39 · 604 阅读 · 0 评论