随笔分类 -  c++

上一页 1 ··· 8 9 10 11 12 13 14 15 下一页
摘要:自动类型推断当编译器能够在一个变量的声明时候就推断出它的类型,那么你就能够用auto关键字来作为他们的类型:[cpp]view plaincopyautox=1;编译器当然知道x是integer类型的。所以你就不用int了。接触过泛型编程或者API编程的人大概可以猜出自动类型推断是做什么用的了:帮你... 阅读全文
posted @ 2014-04-26 23:28 zzyoucan 阅读(664) 评论(0) 推荐(0)
摘要:Serialization的中文解释是“串行化” 、“序列化”或者“持久化” ,就是将内存中的对象保存到磁盘中,等到程序再次运行的时候再读取磁盘中的文件恢复原来的对象。下面来看一个简单的例子:#include #include #include #include class A{private: ... 阅读全文
posted @ 2014-04-26 16:29 zzyoucan 阅读(3799) 评论(0) 推荐(0)
摘要:ostringstream是C++的一个字符集操作模板类,定义在sstream.h头文件中。ostringstream类通常用于执行C风格的串流的输出操作,格式化字符串,避免申请大量的缓冲区,替代sprintf。派生关系图:ios_baseiosostreamostringstreamostring... 阅读全文
posted @ 2014-04-26 14:36 zzyoucan 阅读(810) 评论(0) 推荐(0)
摘要:结构体作为map的key或放入set中,需要重载运算符,示例如下:#include #include #include using namespace std;class Array{private: int m_i32Num1; int m_i32Num2;public: Arr... 阅读全文
posted @ 2014-04-21 10:22 zzyoucan 阅读(2963) 评论(0) 推荐(0)
摘要:#include#include int main(){ std::vector vec; vec.push_back(1); vec.push_back(2); vec.push_back(4); vec.push_back(4); vec.push_back(... 阅读全文
posted @ 2014-04-19 01:05 zzyoucan 阅读(293) 评论(0) 推荐(0)
摘要:这个算是c++非常基础的东西,感觉知道有这个东西,但里面的原因不知道,有点蛋疼,今天又翻开了曾经看过的c++primer,看的时候感觉都看过只有单个形参,而且该形参是对本类类型对象的引用(常用 const 修饰),这样的构造函数称为复制构造函数。与默认构造函数一样,复制构造函数可由编译器隐式调用。复... 阅读全文
posted @ 2014-04-18 23:56 zzyoucan 阅读(284) 评论(0) 推荐(0)
摘要:优先级操作符描述例子结合性1() [] -> . :: ++ -- 调节优先级的括号操作符 数组下标访问操作符 通过指向对象的指针访问成员的操作符 通过对象本身访问成员的操作符 作用域操作符 后置自增操作符 后置自减操作符 (a + b) / 4; array[4] =... 阅读全文
posted @ 2014-04-18 21:21 zzyoucan 阅读(276) 评论(0) 推荐(0)
摘要:#include // std::cout#include // std::thread, std::this_thread::yield#include // std::mutex, std::uniq... 阅读全文
posted @ 2014-04-18 14:34 zzyoucan 阅读(265) 评论(0) 推荐(0)
摘要:/*std::condition_variable 提供了两种 wait() 函数。当前线程调用 wait() 后将被阻塞(此时当前线程应该获得了锁(mutex),不妨设获得锁 lck),直到另外某个线程调用 notify_* 唤醒了当前线程。在线程被阻塞时,该函数会自动调用 lck.unlock(... 阅读全文
posted @ 2014-04-18 13:49 zzyoucan 阅读(621) 评论(0) 推荐(0)
摘要:/*与Mutex RAII相关,方便线程上锁,相比std::lock_guard提供了更好的上锁解锁控制,反正我是没看出来也是在构造时上锁,在析构时解锁,感觉和lock_gurad大差不差都是在线程函数中定义这样一个变量,利用其局部变量自动析构来解锁的特性*/#include // s... 阅读全文
posted @ 2014-04-18 00:28 zzyoucan 阅读(517) 评论(0) 推荐(0)
摘要:/*std::lock_guard:更方便线程对于互斥量的上锁操作std::lock_guard:在定义一个lock_guard时上锁,保证在析构或者异常时解锁*/#include // std::cout#include // std::thread#include... 阅读全文
posted @ 2014-04-18 00:21 zzyoucan 阅读(626) 评论(0) 推荐(0)
摘要:构造函数,std::mutex不允许拷贝构造,也不允许 move 拷贝,最初产生的 mutex 对象是处于 unlocked 状态的。lock(),调用线程将锁住该互斥量。线程调用该函数会发生下面 3 种情况:(1). 如果该互斥量当前没有被锁住,则调用线程将该互斥量锁住,直到调用 unlock之前... 阅读全文
posted @ 2014-04-17 23:49 zzyoucan 阅读(579) 评论(0) 推荐(0)
摘要:C++中, 一个参数的构造函数(或者除了第一个参数外其余参数都有默认值的多参构造函数), 承担了两个角色。 1 是个构造器 ,2 是个默认且隐含的类型转换操作符。所以, 有时候在我们写下如 AAA = XXX, 这样的代码, 且恰好XXX的类型正好是AAA单参数构造器的参数类型, 这时候编译器就自动... 阅读全文
posted @ 2014-04-17 23:00 zzyoucan 阅读(287) 评论(0) 推荐(0)
摘要:JSON 语法规则JSON 语法是 JavaScript 对象表示法语法的子集。数据在名称/值对中数据由逗号分隔花括号保存对象方括号保存数组JSON 名称/值对JSON 数据的书写格式是:名称/值对。名称/值对包括字段名称(在双引号中),后面写一个冒号,然后是值:"firstName" : "John"这很容易理解,等价于这条 JavaScript 语句:firstName = "John"JSON 值JSON 值可以是:数字(整数或浮点数)字符串(在双引号中)逻辑值(true 或 false)数组(在方括号中)对象(在花括号中)nu 阅读全文
posted @ 2014-04-13 12:14 zzyoucan 阅读(223) 评论(0) 推荐(0)
摘要:$pop:-1移除数组的第一个元素,1移除最后一个元素eg:db.c.update({"name" : "toyota"},{$pop:{"title":1}}),数组修改器$pull:移除数组中满足条件的元素:db.c.update({"name" : "toyota"},{$pull:{"title":"t2"}}),数组修改器$addToSet:将数组看成set,向数组中添加不存在的元素,存在就不添加了,貌似和$each一起使用能够向数组中每个元素都 阅读全文
posted @ 2014-04-11 22:19 zzyoucan 阅读(231) 评论(0) 推荐(0)
摘要:virtual void setCurActorAtt(int actorID, ActorAtt att, int value);//设置单项值,或者双向值得第一个virtual void setMaxActorAtt(int actorID, ActorAtt att, int value);//设置双向值得第二个//两个函数都调用_setActorAtt,通过true,false判断设置当前还是最大的virtual void setKnapsackEq;//可以更改,添加删除 阅读全文
posted @ 2014-04-11 15:14 zzyoucan 阅读(148) 评论(0) 推荐(0)
摘要:void asynDBCenter::isGetActorInfoEx(void* on_process, const char* arg){ std::stringstream ros(arg); boost::property_tree::ptree pt; boost::property_tree::read_json(ros, pt); int actorID = pt.get("actorID"); ActorInfoEx info={0}; bool ret = m_dbcenter->getActorInfoEx(actorID, &info). 阅读全文
posted @ 2014-04-11 13:34 zzyoucan 阅读(9752) 评论(0) 推荐(0)
摘要:使用 std::stringstream,小心 内存! 适时 清空 缓冲 ……2007年12月14日 星期五 16:25 stringstream是个好东西,网上有不少文章,讨论如何用它实现各种数据类型的转换(比如把double或int转换为string类型)。但如 果stringstream使用不当,当心内存出问题(我就吃过亏^_^)。 试试下面的代码,运行程序前打开任务管理器,过不了几十秒,所有的内存都将被耗尽!#include #include #include using namespace std;/////////////////////////////////////... 阅读全文
posted @ 2014-04-10 12:12 zzyoucan 阅读(2061) 评论(0) 推荐(0)
摘要:"{ "A":1, "B":{ "C":2, "D":3 }, "E":[ {"F":4}, {"F":5} ]}"#include#include #include using namespace std;using namespace boost::property_tree;//其实有点像std::list,自己可以构造一个任何类型的节点插进去,特别数组类型,用法太灵活了int main(){ std::string json = 阅读全文
posted @ 2014-04-10 10:07 zzyoucan 阅读(412) 评论(0) 推荐(0)
摘要:bool DBCenter::setUserTableTest(){ //修改user表 UseTable(m_userTable); for (int i = 999; i FindOneData(m_ns.c_str(), condJson, secJson, &Res, &i... 阅读全文
posted @ 2014-04-09 16:43 zzyoucan 阅读(240) 评论(0) 推荐(0)

上一页 1 ··· 8 9 10 11 12 13 14 15 下一页