加载中
C++之内部类(嵌套类)与外部类及友元

直接点,上代码: 1 class Outer 2 { 3 public: 4 Outer(){m_outerInt=0;} 5 private: 6 int m_outerInt; 7 public: 8 //内部类定义开始 9 class Inner 10 { 11...

2017/06/26 16:50
7
浅谈指针的比较

前言 有人说指针是C语言的灵魂,也有人说没学好指针就等于不会C语言。 虽然在现代C++中一般都是推荐尽量避免使用原生的raw指针,而是以smart pointer 和reference替代之。但是无论怎样,对于...

2017/06/12 14:38
13
operator<<

一、重载流输出运算符<< 重载流输出运算符<<,比如cout<<a;原来的形式是 operator<<(cout,a); 由于<<需要用到两个类,一个是ostream类,cout就是他的对象,是负责输出的类;另一个是用户自定...

2017/06/05 22:44
10
C++ operator两种用法

C++,有时它的确是个耐玩的东东,就比如operator,它有两种用法,一种是operator overloading(操作符重载),一种是operator casting(操作隐式转换)。 1、操作符重载 C++可以通过operato...

2017/06/05 17:43
8
全局变量、静态全局变量和静态局部变量的链接性

全局变量、静态全局变量和静态局部变量都是静态持续变量,编译器分配固定的内存来存储它们。 全局变量是定义在代码块或函数外部的变量,它的作用域是全局;静态全局变量是用static修饰的全局...

2017/06/05 11:44
9
__declspec(dllexport)和__declspec(dllimport)

__declspec(dllexport) __declspec(dllexport) 将一个函数声名为导出函数,就是说这个函数要被包含她的程序之外的程序调用。 extern "C" 指示编译器用C语言方法给函数命名。 在制作DLL导出函...

2017/05/28 16:54
19
DLL函数介绍

关于DLL的函数: 动态链接库中定义有两种函数:导出函数(export function)和内部函数(internal function)。 导出函数可以被其它模块调用,内部函数在定义它们的DLL程序内部使用。 输出函数的...

2017/05/28 16:51
3
函数传参:二维数组(续...)

[原文开始] 可以用二维数组名作为实参或者形参,在被调用函数中对形参数组定义时可以指定所有维数的大小,也可以省略第一维的大小说明,如: void Func(int array[3][10]); void Func(int a...

2017/05/26 12:11
23
函数传参:静态二维数组

1. C语言动态分配二维数组 (1)已知第二维 char (*a)[N];//指向数组的指针      a = (char (*)[N])malloc(sizeof(char *) * m);   printf("%d\n", sizeof(a));//4,指针   pr...

2017/05/26 11:40
5
函数传参:二维数组

提问: 声明函数如下void function(int** pInt),意图是想参数传递一个二维数组。于是就定义了一个二维数组,比如 int[1][1],然后调用函数。结果如何?当然是失败了,编译器提示:cannot ...

2017/05/26 10:02
4
C/C++上二维数组的两种动态分配内存方法

一、二维数据的内存空间动态分配 方法一: [cpp] view plain copy void malloc2D_1(int **&a) { a = new int*[xDim]; for(int i=0;i<xDim;i++) a[i] = new int[yDim]; assert(a!=NULL); } i...

2017/05/25 22:52
21
C++成员变量初始化赋值

摘要: C++成员变量初始化赋值你都清楚吗?还有好多坑,好多细节也不知道 引用的初始化和const常量 一样只能在构造函数的初始化列表里初始。 至于为什么成员变量中要用到引用,这个主要是该成...

2017/05/21 20:37
10
Singleton c++描述

引子   “请写一个Singleton。”面试官微笑着和我说。   “这可真简单。”我心里想着,并在白板上写下了下面的Singleton实现: 1 class Singleton 2 { 3 public: 4 static Single...

2017/04/26 17:38
3
C++ primer学习笔记:拷贝控制

拷贝和移动构造函数定义了当用同类型的另一个对象初始化本对象时做什么。 拷贝和移动赋值运算符定义了将一个对象赋予同类型的另一个对象时做什么。 析构函数定义了当此类型对象销毁时做什么。...

2017/02/20 21:01
8
C++中的Lambda表达式详解

一段简单的Code #include<iostream> using namespace std; int main() { int a = 1; int b = 2; auto func = [=, &b](int c)->int {return b += a + c;}; return 0; } 基...

2016/10/23 21:28
28
轻量级协程库-C语言实现

协程(coroutine)顾名思义就是“协作的例程”(co-operative routines)。跟具有操作系统概念的线程不一样,协程是在用户空间利用程序语言的语法语义就能实现逻辑上类似多任务的编程技巧。实际...

2016/09/26 16:00
52
State Threads

历史渊源 首先介绍一下这个库的历史渊源,从代码贡献者来看,ST不是个人作品,而是有着雄厚的商业支持和应用背景,比如服务器领域,在这里你可以看到ST曾作为Apache的多核应用模块发布。其诞...

2016/09/26 09:19
11
深入浅出:进程、线程、协程、同步、异步、回调

一、上下文切换技术 简述 在进一步之前,让我们先回顾一下各种上下文切换技术。 不过首先说明一点术语。当我们说“上下文”的时候,指的是程序在执行中的一个状态。通常我们会用调用栈来表示...

2016/09/26 08:04
151
unix环境-文件操作: 带缓冲I/O 和 不带缓冲I/O详解

首先要明白不带缓冲的概念:所谓不带缓冲,并不是指内核不提供缓冲,而是只单纯的系统调用,不是函数库的调用。系统内核对磁盘的读写都会提供一个块缓冲,当用write函数对其写数据时,直接调...

2016/09/22 08:36
32
C++模板的声明和实现为何要放在头文件中?

问题的产生 通过下例来说明问题。例如在array.h文件中有模板类array: // array.h template <typename T, int SIZE> class array { T data_[SIZE]; array (const array& other); const arra...

2016/09/20 13:14
89

没有更多内容

加载失败,请刷新页面

下一页

返回顶部
顶部