自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 c++小知识点4.0

46. 函数中,如果加入inline(内联)则表示,该函数在编译时就被调用; 如果没有加入,则表示函数在运行时才被调用.47. A.要在使用前先声明,否则函数将出错. B.函数参数表不能省略,如果没有任何参数,可以留空或用void代替.如.int fork(void) C.参数表中不能出现同名参数. D.数组不能作为返回值.如int [] foobar(); //错误 E.C++中,数

2016-11-30 17:11:05 271

原创 c++小知识点3.0

31. 在C++中,”=”是赋值操作,而”==”是表示相等的意思.32. const定义的常量不可修改,但可以用其值来来计算.int i=1; const int ic=i; cout << ic+1 << endl;33. int 的指针与int不是同一数据类型,例: int i=15; int *i=i; //这是错误的.34. 在bool类型中,0为false,1为true3

2016-11-29 16:48:07 326

转载 C++的流程控制语句

C++的流程控制语句while语句while ( 表达式)     {  语句组1  }{语句组2}a=3;while(a    a=a+5;cout当循环语句超过一条时,要用{  }将语句组组合在一起。 1.求 1+2+3+……+100void main(void){   int  i=1,s

2016-11-28 23:29:51 971

转载 测量各种数据类型的长度(包括指针),typedf关键字对数据类型的作用!

32位处理器存储单位        bit  (位)     字节 =  8 bit        半字 = 2 个字节 = 16 bit     字  =  4 个字节  =  32 bit  字节长度: 变量在内存中所占的存储空间的长度   数据类型      字节长度                         char           1     s

2016-11-27 23:23:56 578

原创 c++小知识点2.0

16. 作用域操作符::的作用:(1)全局域和局部域都定义了相同名字的变量a,默认情况下局部变量隐藏全局变量,如果想调用全局变量a,应该这样:“::a”; (2)调用类的静态成员:“类名::静态成员名”; (3)子类中调用父类中被隐藏的成员:“父类名::成员名”;17. C++的关键特征是接口和实现的分离. 接口的概念:是一些”用户可以应用到类对象上的操作”的集合.18. 构造函数与析构

2016-11-26 22:59:40 242

原创 C++小知识点

1.在C++中,每个程序必须包含一个main()的入口函数,只有这样,这个项目才能运行.2.函数包括:函数名,参数,代码,返回值.3.return 是C++的预定义语句,提供了终止函数的一种方法;return 0表示成功执行正常退出. 4.using namespace std;是指引用C++的标准库.5. C++的4种基本数据类型:整数(int),浮点型(float),字符型(char),布尔

2016-11-25 23:23:53 247

转载 C中数据类型数值范围解释

类型说明符  int                                 字节数  4 ;  数的范围   -2^31 -- 2^31 - 1;类型说明符  unsigned int                 字节数  2 ;  数的范围      0  --  2^16 - 1;  (0 - 65535)类型说明符  short  int                

2016-11-24 23:04:17 921

转载 位操作训练

1、题目:请编写一个c函数,该函数给出一个字节中被置为1的位的个数#include <stdio.h>int int2bin(int num){ int i; int count = 0; for( i = 0; i < 8; i++) { if( num & 1 ==1) { count++;

2016-11-23 23:24:53 284

转载 两个结构体之间的相互调用

指向结构体类型变量的使用 首先让我们定义结构体: struct stu { char name[20]; long number; float score[4]; } ; 再定义指向结构体类型变量的指针变量: struct stu *p1, *p2 ; 定义指针变量p 1、p 2,分别指向结构体类型变量。引用形式为:指针变量→成员; [例7-2] 对指向

2016-11-22 23:08:19 6260 3

转载 C++类继承3.0

2.其他类的方法 (1)构造函数 创建新对象,因此不能被继承。(2)析构函数 一定要定义显式析构函数来释放类构造函数使用new分配的所有内存,并完成类对象所需的任何特殊的清理工作。 对于基类,即使它不需要析构函数,也应提供。(3)转换 要将类转换为其他类型,应定义转换函数。 转换函数可以是没有参数的类成员函数,也可以是返回类型被声明为目标类型的类成员函数。(4)按值传递对象与传

2016-11-21 19:53:28 332

转载 C++类继承2.0

虚函数工作原理:给每个对象添加一个隐藏成员。隐藏成员中保存了一个指向函数地址数组的指针(虚函数表)。 虚函数表中存储了为类对象进行声明的虚函数的地址 无论类中包含的虚函数是1个还是10个,都只需要在对象中添加1个地址成员,只是表的大小不同而已。 调用函数时,程序将查看存储在对象中的虚函数地址,然后转向相应的函数地址表。 使用虚函数,在内存和执行速度方面的成本:每个对象都将增大,增大量为存储地

2016-11-20 23:21:04 342

转载 C/C++ 输出宽字符 printf + %ls or wcout

在C/C++中输出宽字符可以使用printf + %ls 或者 wcout,详细请看代码:[cpp] view plain copy // 【MoreWindows工作笔记1】 C/C++ 输出宽字符 printf + %ls or wcout  #include   #include   #include   using names

2016-11-19 23:48:13 10236 2

转载 使用父子进程实现TCP通信

include include include include include include include include define MY_PORT 3333int main(int argc ,char **argv) { int listen_fd,accept_fd; struct sockaddr_in client_addr; int n;

2016-11-18 23:23:58 579

转载 数组中只出现一次的数

首先看看题目要求:数组A中,除了某一个数字x之外,其他数字都出现了三次,而x出现了一次。请给出最快的方法找到x。 这个题目非常有意思,在本人博客中有《位操作基础篇之位操作全面总结》这篇文章介绍了使用位操作的异或来解决——数组中其他数字出现二次,而x出现一次,找出x。有《【白话经典算法系列之十二】数组中只出现1次的两个数字(百度面试题)》这边文章介绍了分组异或的方法来解决——数组中其他数

2016-11-17 23:40:52 176

转载 Linux C编程--sizeof面试题选

结构体和共用体的内存分配是C语言的一个难点,也是面试题中的热点。 示例1: Union data1 { double d; int i; char c1; char c2[9]; };sizeof(union data1)的值为16.在编译器默认设置的情况下,该共用体最大基本类型为double,它占8字节,所以此共用体以8来对齐。字符数组c2占9个字节,那么整个

2016-11-16 21:03:09 440

转载 linux高并发的socket的最大接入数

Linux下高并发socket最大连接数所受的限制问题  1、修改用户进程可打开文件数限制  在Linux平台上,无论编写客户端程序还是服务端程序,在进行高并发TCP连接处理时,最高的并发数量都要受到系统对用户单一进程同时可打开文件数量的限制(这是因为系统为每个TCP连接都要创建一个socket句柄,每个socket句柄同时也是一个文件句柄)。可使用ulimit命令查看系统允许当前用户进程打开的文件

2016-11-15 23:27:20 298

转载 有关类的基础

1.使用类型别名来简化类 Example: class A { public: typedef string::size_type MyType; private: MyType x; }; Tips:类型别名的定义必须出现在其使用之前,例如,下面的的代码为非法的 class A {private: MyType x; //error,

2016-11-14 22:16:32 212

转载 得到数组的最后一个数的趣味实现

利用了指向数组的指针来完成,直接上代码了。[cpp] view plain copy// 得到数组的最后一个数 - 使用指向数组的指针来完成  #include   int main()  {    printf("    得到数组的最后一个数的趣味实现 \n");      printf(" - http://blog.csdn

2016-11-13 23:51:31 297

转载 C++ 类继承

通过继承完成的工作:可以在已有类的基础上添加新功能; 可以给类添加数据; 可以修改类方法的行为。 例1:string类中有一个将const char *作为参数的构造函数,使得C-风格字符串初始化string类对象时,将自动调用这个构造函数,在头文件中包含string类即可。公有派生:派生类对象包含基类对象 使用公有派生,基类的私有成员将成为派生类的公有成员;基类的私有部分也成为派生类的一

2016-11-12 23:13:47 291

转载 以字节为单位显示变量的内存存储数据

地址:http://blog.csdn.net/morewindows/article/details/10021601转载请标明出处,谢谢。欢迎关注微博:http://weibo.com/MoreWindows     之前在《位操作基础篇之位操作全面总结》中写了一个变量内存存储查看函数——PrintfBinary,代码如下:[cpp] view plain 

2016-11-11 23:34:53 378

转载 两类传输协议:TCP、 UDP

两类传输协议:TCP、 UDP TCP是Tranfer Control Protocol的 简称,是一种面向连接的保证可靠传输的协议。通过TCP协议传输,得到的是一个顺序的无差错的数据流。发送方和接收方的成对的两个socket之间必须建 立连接,以便在TCP协议的基础上进行通信,当一个socket(通常都是server socket)等待建立连接时,另一个socket可以要求进行连接,一旦这两个s

2016-11-10 22:45:27 333

转载 字符串格式化 sprintf 2.0

四、连接字符串sprintf 的格式控制串中既然可以插入各种东西,并最终把它们”连成一串”,自然也就能够连接字符串,从而在许多场合可以替代strcat,但sprintf 能够一次连接多个字符串(自然也可以同时在它们中间插入别的内容,总之非常灵活)。比如: char* who = “I”; char* whom = “CSDN”; sprintf(s, “%s love %s.”, who, w

2016-11-09 19:47:44 302

转载 Linux文件夹解释大全

/bin 二进制可执行命令/dev 设备特殊文件/etc 系统管理和配置文件/etc/rc.d 启动的配置文件和脚本/home 用户主目录的基点,比如用户user的主目录就是/home/user,可以用~user表示/lib 标准程序设计库,又叫动态链接共享库,作用类似windows里的.dll文件/sbin 系统管理命令,这里存放的是系统管理员使用

2016-11-08 23:05:57 396

转载 字符串格式化 sprintf

sprintf 是个变参函数,定义如下: int sprintf( char *buffer, const char *format [, argument] … );除了前两个参数类型固定外,后面可以接任意多个参数。而它的精华,显然就在第二个参数:格式化字符串上。printf 和sprintf 都使用格式化字符串来指定串的格式,在格式串内部使用一些以”%”开头的格式说明符(format spec

2016-11-07 23:20:11 4726

原创 linux.socket

前面说到的进程间的通信,所通信的进程都是在同一台计算机上的,而使用socket进行通信的进程可以是同一台计算机的进程,也是可以是通过网络连接起来的不同计算机上的进程。通常我们使用socket进行网络编程,这里将会简单地讲述如何使用socket进行简单的网络编程。一、什么是socket socket,即套接字是一种通信机制,凭借这种机制,客户/服务器(即要进行通信的进程)系统的开发工作既可以在本地单

2016-11-06 23:23:11 246

转载 数据校验方法(有待整理)

1.什么是数据校验 通俗的说,就是为保证数据的完整性,用一种指定的算法对原始数据计算出的一个校验值。接收方用同样的算法计算一次校验值,如果和随数据提供的校验值一样,就说明数据是完整的。 2.最简单的检验 实现方法:最简单的校验就是把原始数据和待比较数据直接进行比较,看是否完全一样这种方法是最安全最准确的。同时也是效率最低的。 适用范围:简单的数据量极小的通讯。 3.奇偶校验Parity Ch

2016-11-05 20:53:12 7676 2

转载 左值右值

什么是左值(lvaule)?左值是指可以被赋值的表达式。左值位于赋值语句的左侧,与其相对的右值(rvaule,见 1.11)则位于赋值语句的右侧。每条赋值语句都必须有一个左值和一个右值。左值必须是内存中一个可存储的变量,而不能是一个常量。下面给出了一些左值的例子:int x; int *p_int; x=1; *p_int=5;变量x是一个整数,它对应于内存中的一个可存储位置,因此,在语句“x

2016-11-04 20:14:52 355

转载 线程互斥

mutex互斥锁线程控制 互斥锁是用一种简单的加锁方法来控制对共享资源的原子操作。 互斥锁只有两种状态,也就是上锁和解锁,可以把互斥锁看作某种意义上的全局变量。 在同一时刻只能有一个线程掌握某个互斥锁,拥有上锁状态的线程能够对共享资源进行操作。若其他线程希望上锁一个已经被上锁的互斥锁,则该线程就会挂起,直到上锁的线程释放掉互斥锁为止。互斥锁的基本操作: 互斥锁初始化:pthread_

2016-11-03 22:49:03 207

原创 有关线程的函数

1、函数pthread_create 作用:创建线程 函数原型:int pthread_create(pthread_t * tidp,const pthread_attr_t*attr,void*(*start_rtn)(void),void*arg) 参数: tidp:线程id attr: 线程属性(通常为空) start_rtn:线程要执行的函数 arg:start_r

2016-11-02 20:41:03 247

转载 LINUX多线程

一、线程的特点线程是进程的一个执行流,是CPU调度和分配的基本单位。线程是程序运行的最小单位。线程不会影响到其它线程的运行。比如一个线程崩溃,其它线程正常运行。同一进程内的线程共享进程的地址空间。二、一个线程的组成一个指向当前被执行指令的指令指针一个栈空间一个寄存器值的集合一个私有的数据区三、使用线程的优点同一进程下的多线程共享地址空间,减少的资源的浪费。线程间方便的通信机制。

2016-11-01 23:06:20 203

空空如也

空空如也

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

TA关注的人

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