自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 收藏
  • 关注

转载 Sublime Text 3中配置编译和运行Java的两个方法

方法一:打开Sublime Text 3,依次点击Preference, Browse Packages,在打开的窗口中双击User文件夹,新建文件JavaC.sublime-build,用记事本打开,粘贴下面的代码并保存关闭:{"cmd": ["javac","-encoding","UTF-8","-d",".","$file"],"file_regex": "^...

2016-04-12 23:10:00 433

转载 C语言 ---- realloc\malloc\calloc

realloc()extern void *realloc(void *mem_address, unsigned int size);指针名=(数据类型*)realloc(要改变内存大小的指针名,新的大小)。头文件: <stdlib.h>更改已经配置的内存空间,即更改由malloc()函数分配的内存空间的大小。如果将分配的内存减少,realloc仅仅是改...

2016-03-09 16:10:00 123

转载 指针变量的星号是靠近变量名还是靠近类型

int *a; int* a;意思相同且后者看上去更为清楚:a被声明为类型为 int* 的指针. 但是,这并不是一个好技巧,原因如下:int* b, c, d;人们很自然地以为这条语句把所有三个变量声明为指向整形的指针, 但事实上并非如此. 星号实际上是表达式 *b 的一部分, 只对这个标识符有用. b 是一个指针, 但其余两个变量只是普通的整形....

2015-12-08 14:27:00 828

转载 linux 中的vim的配置文件

在用户家目录(/home/用户名)下面有一个.vimrc/etc下面也有一个vimrc一般只改用户家目录下面的 .vimrc 此配置文件只针对用户有效更改后需使用su - 用户名 来使配置生效(例如 su - zhang3).vimrc为隐藏文件 使用ls -al可查看setnu 显示行号setencoding=utf-8中文字体非乱码settabstop=4...

2015-10-13 10:09:00 108

转载 vim配置及插件安装管理

写在前面Linux下编程一直被诟病的一点是: 没有一个好用的IDE, 但是听说Linux牛人, 黑客之类的也都不用IDE. 但是对我等从Windows平台转移过来的Coder来说, 一个好用的IDE是何等的重要啊, 估计很多人就是卡在这个门槛上了, "工欲善其事, 必先利其器"嘛, 我想如果有一个很好用的IDE, 那些Linux牛人也会欢迎的. 这都是劳动人...

2015-10-12 10:56:00 132

转载 LPTSTR、LPCSTR、LPCTSTR、LPSTR的来源及意义

UNICODE:它是用两个字节表示一个字符的方法。比如字符'A'在ASCII下面是一个字符,可'A'在UNICODE下面是两个字符,高字符用0填充,而且汉字'程'在ASCII下面是两个字节,而在UNICODE下仍旧是两个字节 。UNICODE的用处就是定长表示世界文字,据统计,用两个字节可以编码现存的所有文字而没有二义。MBCS: (Multi-ByteChactac...

2015-09-08 11:22:00 225

转载 TCP协议与UDP协议的区别

TCP和UDP的区别(转)TCP协议与UDP协议的区别 首先咱们弄清楚,TCP协议和UCP协议与TCP/IP协议的联系,很多人犯糊涂了,一直都是说TCP/IP协议与UDP协议的区别,我觉得这是没有从本质上弄清楚网络通信! TCP/IP协议是一个协议簇。里面包括很多协议的。UDP只是其中的一个。之所以命名为TCP/IP协议,因为TCP,IP协议是两个很重要的协议,就用他...

2015-08-13 11:32:00 62

转载 C++处理异常 try,catch,throw,finally

异常处理的基本思想是简化程序的错误代码,为程序键壮性提供一个标准检测机制。也许我们已经使用过异常,但是你会是一种习惯吗,不要老是想着当我打开一个文件的时候才用异常判断一下,我知道对你来说你喜欢用return value或者是print error message来做,你想过这样做会导致Memory Leak,系统退出,代码重复/难读,垃圾一堆…..吗?现在的软件已经是n*365*24...

2015-08-06 20:10:00 189

转载 C++ sizeof与strlen

sizeof与strlen的区别基础知识:(1)sizeof<1> sizeof(...)是运算符,在头文件中typedef为unsigned int,其值在编译时即计算好了,参数可以是数组、指针、类型、对象、函数等。<2> 它的功能是:获得保证能容纳实现所建立的最大对象的字节大小。<3> 由于在编译时计算,因此sizeof不能用来...

2015-07-31 15:50:00 67

转载 C++  shared_from_this 资料搜索

关于shared_from_this 查找的资料:1. TcpConnection用到了enable_shared_from_this这个基类,这个基类提供了一个shared_from_this()公用方法可以让子类内部获取到shared_ptr的对象,用来用在类实现过程中需要传递自身指针的地方。有几个点需要注意一下:虽然enable_shared_from_this是基类,...

2015-07-27 16:07:00 101

转载 tcp_nodelay的作用

说说tcp_nodelay的原理: TCP_NODELAY和TCP_CORK基本上控制了包的“Nagle化”,这里我们主要讲TCP_NODELAY.Nagle化在这里的含义是采用Nagle算法把较小的包组装为更大的帧。JohnNagle是Nagle算法的发明人,后者就是用他的名字来命名的,他在1984年首次用这种方法来尝试解决福特汽车公司的网络拥塞问题(欲了解详情...

2015-07-23 21:27:00 143

转载 C++ std::move/std::forward/完美转发

右值引用相关的几个函数:std::move, std::forward 和 成员的 emplace_back;通过这些函数我们可以避免不必要的拷贝,提高程序性能。move 是将 对象的状态 或者 所有权 从一个对象转移到另一个对象,只是转移,没有内存的搬迁或者内存拷贝。如图,深拷贝 和 move 的区别:这种 移动语义 是很有用的,比如我们一个对象中有一些指针资源...

2015-07-23 14:24:00 143

转载 C++ function/bind

function/bind1. std::functioni.是一个函数的包装器ii.std::function<R(T1, T2, ..., TN)>iii.这是一个模板实现的函数对象类,它可以包装其它任意的函数对象,而被包装的函数对象具有类型为T1,T2,…,TN的参数,其返回值为R类型...

2015-07-23 00:32:00 102

转载 C++ 移动语义--std::move 实例解析

移动语义--std::move编译器只对右值引用才能调用转移构造函数和转移赋值函数,而所有命名对象都只能是左值引用,如果已知一个命名对象不再被使用而想对它调用转移构造函数和转移赋值函数,也就是把一个左值引用当做右值引用来使用,怎么做呢?标准库提供了函数 std::move,这个函数以非常简单的方式将左值引用转换为右值引用。对于右值引用而言,它本身是右值么? 要看情况。...

2015-07-22 21:33:00 187

转载 C++ 智能指针 C++11

一、缘起C++ 语言没有自动内存回收机制,每次 new 出来的内存都要手动 delete。程序员忘记 delete,流程太复杂,最终导致没有 delete;异常导致程序过早退出,没有执行 delete 的情况并不罕见。用智能指针便可以有效缓解这类问题,本文主要讲解参见的智能指针的用法。包括:std::auto_ptr、std::shared_ptr、std::weak...

2015-07-22 21:16:00 64

转载 C++ const与define

昨日面试被组考官问及const与define异同,开始还简单,后来被问的我脑袋是一团浆糊.今日差点资料总结一下1. const与define。两者都可以用来定义常量,但是const定义时,定义了常量的类型,所以更精确一些。#define只是简单的文本替换,除了可以定义常量外,还可以用来定义一些简单的函数,有点类似内置函数。const和define定义的常量可以放在头文件里面。(小...

2015-07-22 21:12:00 125

转载 C++ 强制类型转换

c/c++强制类型转换Q:什么是C风格转换?什么是static_cast, dynamic_cast 以及 reinterpret_cast?区别是什么?为什么要注意?A:转换的含义是通过改变一个变量的类型为别的类型从而改变该变量的表示方式。为了类型转换一个简单对象为另一个对象你会使用传统的类型转换操作符。比如,为了转换一个类型为doubole的浮点数的指针到整型:代码:...

2015-07-22 20:55:00 80

转载 C++ typedef用法 与 #define区别

第一、四个用途用途一:定义一种类型的别名,而不只是简单的宏替换。可以用作同时声明指针型的多个对象。比如: char* pa, pb; // 这多数不符合我们的意图,它只声明了一个指向字符变量的指针, // 和一个字符变量; 以下则可行: typedef char* PCHAR; // 一般用大写 PCHAR pa, pb; // 可行,同时声明了两个指向字符变量的指针 ...

2015-07-22 11:10:00 81

转载 C++ 右值引用:移动语义与完美转发

转载至: http://www.dutor.net/index.php/2013/11/rvalue-reference-move-semantics-and-perfect-forwarding/   C++11 引入的新特性中,除了并发内存模型和相关设施,这些高帅富之外,最引人入胜且接地气的特性就要属『右值引用』了(rvalue reference)。加入右值引用的动机在于效...

2015-07-21 20:41:00 135

转载 C++ 资源管理(RAII)--智能指针

1. 智能指针(Smart Pointer)i.是存储指向动态分配(堆)对象指针的类ii.在面对异常的时候格外有用,因为他们能够确保正确的销毁动态分配的对象iii.RAII类模拟智能指针,见备注2. C++11提供了以下几种智能指针,位于头文件<memory>,它们都是模板类...

2015-07-21 20:29:00 137

转载 C++ 双冒号::的作用

作用域符号::的前面一般是类名称,后面一般是该类的成员名称,C++为例避免不同的类有名称相同的成员而采用作用域的方式进行区分如:A,B表示两个类,在A,B中都有成员member。那么 A::member就表示类A中的成员member B::member就表示类B中的成员member 全局作用域符号:当全局变量在局部函数中与其中某个变量重名,那么就可以用::...

2015-07-21 15:49:00 66

转载 C++ const 成员函数

const放函数后面什么意思:const 修饰符放到函数后面,准确的说是用来修饰 this 指针 指向的对象的。例如: 1 class Student 2 3 { 4 5 public: 6 7   getName(int); 8 9 private:10 11   int stu_id;12 13 };这里...

2015-07-21 11:38:00 66

转载 C++ explicit关键字避免隐式转换

explicit用来防止由构造函数定义的隐式转换。要明白它的作用,首先要了解隐式转换:可以用单个实参来调用的构造函数定义了从形参类型到该类类型的一个隐式转换。例如: 1 class things 2 3 { 4 5 public: 6 7 things(const std::string &name = "")...

2015-07-21 11:12:00 120

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除