随笔分类 -  c++

摘要:协议的设计一般采用结构体进行数据打包,在协议设计的结构体中能不能使用指针 ? 能行的话,能给个例子演示一下吗? 就是简单定义一个结构体,里面使用指针,然后将此结构体 用系统调用如send ,sendto之类的发送出去 ? | 结构体中可以但是不建议使用指针,因为这样做会给收发两端带来很多麻烦。对于发 阅读全文
posted @ 2020-01-06 21:26 南哥的天下 阅读(376) 评论(0) 推荐(0) 编辑
摘要:#pragma pack(push) 和#pragma pack(pop) 以及#pragma pack() 我们知道结构体内存对齐字节可以通过#pragma pack(n) 的方式来指定。 但是,有没有想过一个问题,某些时候我想4字节对齐,有些时候我又想1字节或者8字节对齐,那么怎么解决这个问题呢 阅读全文
posted @ 2019-12-23 00:08 南哥的天下 阅读(1642) 评论(0) 推荐(2) 编辑
摘要:(原创)用C++11的std::async代替线程的创建 c++11中增加了线程,使得我们可以非常方便的创建线程,它的基本用法是这样的: void f(int n); std::thread t(f, n + 1); t.join(); 但是线程毕竟是属于比较低层次的东西,有时候使用有些不便,比如我 阅读全文
posted @ 2019-12-21 10:50 南哥的天下 阅读(3951) 评论(1) 推荐(1) 编辑
摘要:线程池的陷阱 使用线程池要小心,一不小心就会导致程序挂死。举例说明这种情况。 线程池中有一个同步队列存放数据,多个线程取队列中的数据去处理,数据的类型可能有多个,所以每种数据类型对应一个处理函数,假设某种数据的处理函数会把线程阻死,这时就悲剧了,这个阻死会蔓延到线程池的所有线程,最后线程池中所有的线 阅读全文
posted @ 2019-12-21 10:16 南哥的天下 阅读(440) 评论(0) 推荐(0) 编辑
摘要:深入理解C++中的mutable关键字 mutable的中文意思是“可变的,易变的”,跟constant(既C++中的const)是反义词。 在C++中,mutable也是为了突破const的限制而设置的。被mutable修饰的变量,将永远处于可变的状态,即使在一个const函数中。 我们知道,如果 阅读全文
posted @ 2019-12-18 23:35 南哥的天下 阅读(569) 评论(0) 推荐(0) 编辑
摘要:列表初始化(1)_统一初始化 列表初始化(1)_统一初始化 1. 统一初始化(Uniform Initialization) (1)在C++11之前,很多程序员特别是初学者对如何初始化一个变量或对象的问题很容易出现困惑。因为可以用小括号、大括号或赋值操作符等多种方式进行初始化。 (2)基于这个原因, 阅读全文
posted @ 2019-12-18 23:16 南哥的天下 阅读(1496) 评论(0) 推荐(0) 编辑
摘要:C++11:基于std::queue和std::mutex构建一个线程安全的队列 C++中的模板std::queue提供了一个队列容器,但这个容器并不是线程安全的,如果在多线程环境下使用队列,它是不能直接拿来用的。 基于它做一个线程安全的队列也并不复杂。基本的原理就是用std::mutext信号量对 阅读全文
posted @ 2019-12-18 22:27 南哥的天下 阅读(3510) 评论(0) 推荐(0) 编辑
摘要:c++11 实现半同步半异步线程池 感受:随着深入学习,现代c++给我带来越来越多的惊喜… c++真的变强大了。 半同步半异步线程池:其实很好理解,分为三层 同步层:通过IO复用或者其他多线程多进程等不断的将待处理事件添加到队列中,这个过程是同步进行的。 队列层:所有待处理事件都会放到这里。上一层事 阅读全文
posted @ 2019-12-17 22:56 南哥的天下 阅读(560) 评论(0) 推荐(0) 编辑
摘要:c++中std::set自定义去重和排序函数 c++中的std::set,是基于红黑树的平衡二叉树的数据结构实现的一种容器,因为其中所包含的元素的值是唯一的,因此主要用于去重和排序。这篇文章的目的在于探讨和分享如何正确使用std::set实现去重和排序功能。 1.方法一:使用std::set内置的l 阅读全文
posted @ 2019-12-17 22:46 南哥的天下 阅读(2028) 评论(0) 推荐(0) 编辑
摘要:stl中map的四种插入方法总结方法一:pair例:map<int, string> mp;mp.insert(pair<int,string>(1,"aaaaa")); 方法二:make_pair例:map<int, string> mp;mp.insert(make_pair<int,strin 阅读全文
posted @ 2019-12-17 22:05 南哥的天下 阅读(8608) 评论(0) 推荐(0) 编辑
摘要:C++迭代器的使用和操作总结 目录 一.定义和初始化 二.常用操作 三.迭代器const_iterator 四.使迭代器失效的操作 正文 迭代器是一种检查容器内元素并遍历元素的数据类型。C++更趋向于使用迭代器而不是下标操作,因为标准库为每一种标准容器(如vector)定义了一种迭代器类型,而只用少 阅读全文
posted @ 2019-12-17 21:54 南哥的天下 阅读(1326) 评论(0) 推荐(0) 编辑
摘要:在C++中,_beginthreadex 创建线程是很麻烦的。要求入口函数必须是类的静态函数。 通常,可以采用thunk,或者模板来实现。 因C++ 11中引入了 std::async ,可以很好的解决这个问题了。 值得注意的是,在循环中 std::async 创建线程,我试了好多次总是失败,后来看 阅读全文
posted @ 2019-12-17 17:33 南哥的天下 阅读(5096) 评论(0) 推荐(0) 编辑
只有注册用户登录后才能阅读该文。
posted @ 2019-12-17 00:03 南哥的天下 阅读(17) 评论(0) 推荐(0) 编辑
摘要:详解 C++11 lambda表达式 详解 C++11 lambda表达式 详解 C++11 lambda表达式 详解 C++11 lambda表达式 lambda表达式是函数式编程的基础。咱对于函数式编程也没有足够的理解,因此这里不敢胡言乱语,有兴趣的可以自己查找相关资料看下。这里只是介绍C++1 阅读全文
posted @ 2019-12-16 22:22 南哥的天下 阅读(971) 评论(0) 推荐(0) 编辑
摘要:C++11 学习笔记 std::function和bind绑定器 一.std::function C++中的可调用对象虽然具有比较统一操作形式(除了类成员指针之外,都是后面加括号进行调用),但定义方法五花八门。为了统一泛化函数对象,函数指针,引用函数,成员函数的指针的各种操作,让我们可以按更统一的方 阅读全文
posted @ 2019-12-16 22:14 南哥的天下 阅读(2338) 评论(0) 推荐(0) 编辑
摘要:C++11中的std::bind 最近在看看cocos2dx的源代码,发现了cocos2dx 3.0相对于2.0改动了很多,最大的改变就是大量的使用了C++11的特性,比如auto等。其中有一个关于回调函数绑定的宏定义就使用了std::bind特性 非常简练的宏定义,对于没有接触过C++11的朋友来 阅读全文
posted @ 2019-12-16 22:08 南哥的天下 阅读(1189) 评论(0) 推荐(0) 编辑
摘要:C/C++ socket编程教程之九:TCP的粘包问题以及数据的无边界性 C/C++ socket编程教程之九:TCP的粘包问题以及数据的无边界性 C/C++ socket编程教程之九:TCP的粘包问题以及数据的无边界性 C/C++ socket编程教程之九:TCP的粘包问题以及数据的无边界性 上节 阅读全文
posted @ 2019-12-16 17:54 南哥的天下 阅读(2332) 评论(0) 推荐(1) 编辑
摘要:C++11智能指针之std::unique_ptr C++11智能指针之std::unique_ptr C++11智能指针之std::unique_ptr C++11智能指针之std::unique_ptr uniqut_ptr是一种对资源具有排他性拥有权的智能指针,即一个对象资源只能同时被一个un 阅读全文
posted @ 2019-12-15 23:38 南哥的天下 阅读(18171) 评论(0) 推荐(0) 编辑
摘要:shared_ptr的使用和陷阱 shared_ptr的使用 分配内存 make_shared //make_shared<int>分配一块int类型大小的内存,并值初始化为100 //返回值是shared_ptr类型,因此可以直接赋值给sp shared_ptr<int> sp = make_sh 阅读全文
posted @ 2019-12-15 23:36 南哥的天下 阅读(1804) 评论(0) 推荐(0) 编辑
摘要:c和c++如何把一个整数转化为string C++: C++: 一、string转int的方式 采用最原始的string, 然后按照十进制的特点进行算术运算得到int,但是这种方式太麻烦,这里不介绍了。 采用标准库中atoi函数。 string s = "12"; int a = atoi(s.c_ 阅读全文
posted @ 2019-12-15 23:17 南哥的天下 阅读(3823) 评论(0) 推荐(1) 编辑

点击右上角即可分享
微信分享提示