随笔分类 - C/C++
摘要:v0.2 - Last updated November 8, 2013源自Google's C++ coding stylerev. 3.274目录 由 DocToc生成 头文件 #define用法 前向声明 内联函数 -inl.h文件 函数参数顺序 include的命名和顺序 作用域 命名空间 ...
阅读全文
摘要:有些时候,我们定义一个函数,可能这个函数需要支持可变长参数,也就是说调用者可以传入任意个数的参数。比如C函数printf(). 我们可以这么调用。 printf("name: %s, number: %d", "Obama", 1); 那么这个函数是怎么实现的呢?其实C语言支持可变长参数的。 我们举
阅读全文
摘要:1. 引入nullptr的原因引入nullptr的原因,这个要从NULL说起。对于C和C++程序员来说,一定不会对NULL感到陌生。但是C和C++中的NULL却不等价。NULL表示指针不指向任何对象,但是问题在于,NULL不是关键字,而只是一个宏定义(macro)。1.1 NULL在C中的定义在C中...
阅读全文
摘要:C++11中引入的auto主要有两种用途:自动类型推断和返回值占位。auto在C++98中的标识临时变量的语义,由于使用极少且多余,在C++11中已被删除。前后两个标准的auto,完全是两个概念 1. 自动类型推断 auto自动类型推断,用于从初始化表达式中推断出变量的数据类型。通过auto的自动类
阅读全文
摘要:/* * File: main.cpp * Author: Vicky.H * Email: eclipser@163.com */ #include #include #include #include int add1(int i, int j, int k...
阅读全文
摘要:C++11新特性总结可以参考:http://www.cnblogs.com/pzhfei/archive/2013/03/02/CPP_new_feature.html#section_6.8C++的Lambda表达式在WIN RT的异步编程中,占有非常重要的作用。但C++的Lambda表达式又不同...
阅读全文
摘要:作用域scope:描述了名称在文件(翻译单元)的多大范围内可见。 链接性linkage:描述了名称在不同单元间共享。链接为外部的名称可以在文件间共享,链接性为内部的名称只能由一个文件中的函数共享。自动变量的名称是没有链接性,因为他们不能共享。 在名字空间中声明的变量的作用域为整个名称空间,因此全局作
阅读全文
摘要:C++引用现在分为左值引用(能取得其地址)和右值引用(不能取得其地址)。其实很好理解,左值引用中的左值一般指的是出现在等号左边的值(带名称的变量,带*号的指针等一类的数据),程序能对这样的左值进行引用获得其地址;右值引用中的右值一般指的就是出现在等号右边的值(右值引用:常量、表达式、函数非左值引用的...
阅读全文
摘要:详细请看《C++ Primer plus》(第六版中文版) http://www.cnblogs.com/lvpengms/archive/2011/02/21/1960078.html 备注: 函数对象:尽管函数指针被广泛用于实现函数回调,但C++还提供了一个重要的实现回调函数的方法,那就是函数对
阅读全文
摘要:一、简介 由于 C++ 语言没有自动内存回收机制,程序员每次 new 出来的内存都要手动 delete。程序员忘记 delete,流程太复杂,最终导致没有 delete,异常导致程序过早退出,没有执行 delete 的情况并不罕见。 用智能指针便可以有效缓解这类问题,本文主要讲解常见的智能指针的用法
阅读全文
摘要:当类中有指针成员时,一般有两种方式来管理指针成员:一是采用值型的方式管理,每个类对象都保留一份指针指向的对象的拷贝;另一种更优雅的方式是使用智能指针,从而实现指针指向的对象的共享。 智能指针(smart pointer)的一种通用实现技术是使用引用计数(reference count)。智能指针类将
阅读全文
摘要:本文对四种标准C++的类型转换符:static_cast、dynamic_cast、reinterpret_cast、和const_cast进行了介绍,通过本文应当能够理解这四个类型转换操作符的含义。在学习转型之前,文章Effective C++ —— 实现(五)中条款27将告诉你应该慎重并...
阅读全文
摘要:memset void *memset(void *s,int c,size_t n) 总的作用:将已开辟内存空间 s 的首 n 个字节的值设为值 c.如下:// 1.将已开辟内存空间s的首n个字节的值设为c。#includevoid main(){ char *s="Golden...
阅读全文
摘要:1 基本解释:extern可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。此外extern也可用来进行链接指定。 也就是说extern有两个作用,第一个,当它与"C"一起连用时,如: extern "C" void fun(int a
阅读全文

浙公网安备 33010602011771号