
C++语法
文章平均质量分 82
modiziri
这个作者很懒,什么都没留下…
展开
-
C语言符号优先级
优先级运算符名称或含义使用形式结合方向说明1[]数组下标数组名[常量表达式]左到右 ()圆括号(表达式)/函数名(形参表) .成员选择(对象)对象.成员名转载 2015-07-15 10:27:58 · 663 阅读 · 0 评论 -
do while(0)的用法
看到过一些程序中或者宏中使用do{} while (0)觉得挺奇怪,不知道为什么这么写,就百度了一下...看到一个比较好的帖子,给大家分享下!我遇见的宏[cpp] view plaincopy#define LFW(x, y) do { x = websGetVar(wp, T(#y), T("")); } while(0)转载 2015-12-16 11:09:00 · 1544 阅读 · 0 评论 -
url截断技术巧用指针
使用url截断的时候,我们一般希望从url得到site、port、path。这是最节省内存的方法就是巧用内存。举个例子。一个url :http://write.blog.youkuaiyun.com/postedit?ref=toolbar传进来一个url,我们直接把port与path的分界线"/"的值返回path(指针),得到了path然后把"\"写成“\0”。然后把":"后一位的数原创 2015-11-19 13:58:21 · 952 阅读 · 0 评论 -
C++ 静态成员函数使用不需要声明
在C++中,静态成员是属于整个类的而不是某个对象,静态成员变量只存储一份供所有对象共用。所以在所有对象中都可以共享它。使用静态成员变量实现多个对象之间的数据共享不会破坏隐藏的原则,保证了安全性还可以节省内存。静态成员的定义或声明要加个关键static。静态成员可以通过双冒号来使用即::。 在C++中类的静态成员变量和静态成员函数是个容易出错的地方,本文先通过几个例子来总结静转载 2015-11-15 17:30:03 · 3532 阅读 · 0 评论 -
读写指针切换,线程安全(双buff结构)
/* * DualInstanceCache.h * * @brief: 简单封装实现双实例的指针切换,用于一写多读且写操作是Hash表清空的情况(当写者过于频繁且读者过慢时,可能引发线程安全问题) */#ifndef DUALINSTANCECACHE_H_#define DUALINSTANCECACHE_H_#include namespac原创 2015-09-10 14:36:37 · 2567 阅读 · 0 评论 -
protobuff的repeat参数是类似数组的存在
protobuf是Google开发的一个序列化框架,类似XML,JSON,基于二进制,比传统的XML表示同样一段内容要短小得多。通过protobuf,可以很轻松的调用相关方法来完成业务数据的序列化与反序列化。protobuf repeated类型相当于std的vector,可以用来存放N个相同类型的内容,文章将简单介绍protobuf repeated的使用。首先定义一个protobu转载 2015-11-03 17:09:38 · 23759 阅读 · 0 评论 -
C++派生类的继承方式总结:
派生类的继承方式总结:继承方式说明public基类的public和protected的成员被派生类继承后,保持原来的状态private基类的public和protected的成员被派生类继承后,变成派生类的private成员protected基类的public和protected的成转载 2015-09-13 19:58:18 · 1495 阅读 · 0 评论 -
如何优化C/C++语言代码(程序员必读)
1、选择合适的算法和数据结构 应该熟悉算法语言,知道各种算法的优缺点,具体资料请参见相应的参考资料,有很多计算机书籍上都有介绍。将比较慢的顺序查找法用较快的二分查找或乱序查找法代替,插入排序或冒泡排序法用快速排序、合并排序或根排序代替,都可以大大提高程序执行的效率。.选择一种合适的数据结构也很重要,比如你在一堆随机存放的数中使用了大量的插入和删除指令,那使用链转载 2015-08-19 11:43:39 · 854 阅读 · 0 评论 -
C/C++之回调函数
今天讨论下C/C++中的回调函数。 在理解“回调函数”之前,首先讨论下函数指针的概念。函数指针(1)概念:指针是一个变量,是用来指向内存地址的。一个程序运行时,所有和运行相关的物件都是需要加载到内存中,这就决定了程序运行时的任何物件都可以用指针来指向它。函数是存放在内存代码区域内的,它们同样有地址,因此同样可以用指针来存取函数,把这种指向函数入口地址的指针称为函数指针。(2转载 2015-08-03 17:32:11 · 464 阅读 · 0 评论 -
Ctemplate的简介
CTemplate 是一个简单实用、功能强大的文字模板(template language),适用于使用C++语言开发的应用程序。 其解决的主要问题是将文字表达和逻辑分离开来:文字模板解决如何用合适的文字和形式来表达的问题,而逻辑问题则由文字模板的调用者在源代码中完成。 下面有一个简单的例子让我们初步了解其概念,介绍了如何在你的程序中应用CTemplate:首先创建一个模板文件,命名为转载 2015-07-17 12:23:48 · 3705 阅读 · 0 评论 -
c++ 中的static
static对象如果出现在类中,那么该对象即使从未被使用到,它也会被构造以及析构。而函数中的static对象,如果该函数从未被调用,这个对象也就绝不会诞生,但是在函数每次被调用时检查对象是否需要诞生。下面详细说说static的功能以及它的来龙去脉:static作为编程语言里面一种重要的数据类型,它的地位在面试的过程里也是相当的高。为什么要引入static转载 2015-07-15 17:30:59 · 549 阅读 · 0 评论 -
C++ 语法学习笔记
snprintf特殊用法:snprintf(char* + size(int), 5, "%s", "1234567890");理论上是不能这么用的,但是居然可以,意思就是保留char*原本的size位(原本的意思是直接洗掉char*里面的数)然后再往后面加“1234567890”的前4位。举个例子:char test[] = "abcde"int size = 3;s原创 2015-07-15 16:28:18 · 571 阅读 · 0 评论