- 博客(34)
- 资源 (12)
- 收藏
- 关注
转载 TCHAR
TCHAR 就是当你的字符设置为什么就是什么例如:程序编译为 ANSI, TCHAR 就是相当于 CHAR当程序编译为 UNICODE, TCHAR 就相当于 WCHARchar :单字节变量类型,最多表示256个字符,wchar_t :宽字节变量类型,用于表示Unicode字符,它实际定义在里:typedef unsigned short wchar_t。
2015-05-31 21:00:11 343
转载 浅析_tmain()与main()的区别
有这么两行#include #include 我们可以在头文件里找到_tmain的宏定义 #define _tmain main所以,经过预编译以后, _tmain就变成main了main()是标准C++的函数入口。标准C++的程序入口点函数,默认字符编码格式ANSI函数签名为:int main();int m
2015-05-31 20:39:20 300
转载 #pragma once
【1】#pragma once这个宏有什么作用?为了避免同一个文件被include多次,C/C++中有两种宏实现方式:一种是#ifndef方式,一种是#pragma once方式。在能够支持这两种方式的编译器上,二者并没有太大的区别,但两者仍然有一些细微的区别。【2】两者的使用方式有何区别?示例代码如下:1 //方式一:2 #ifndef __SOME
2015-05-31 20:09:08 254
转载 C++虚函数及虚函数表解析
虚函数的定义: 虚函数必须是类的非静态成员函数(且非构造函数),其访问权限是public(可以定义为private or proteceted, 但是对于多态来说,没有意义。),在基类的类定义中定义虚函数的一般形式: virtual 函数返回值类型 虚函数名(形参表) { 函数体 }虚函数的作用是实现动态联编,也就是在程序的运行阶段动态地选择合适的成员函数,在定义了虚函数后,
2015-05-30 22:22:27 392
转载 浅析C++中的this指针
有下面的一个简单的类:class CNullPointCall{public: static void Test1(); void Test2(); void Test3(int iTest); void Test4();private: static int m_iStatic; int m_iTest;};
2015-05-28 22:14:51 395
转载 C++ this指针的用法
this指针的含义及其用法: 1. this指针是一个隐含于每一个成员函数中的特殊指针。它指向正在被该成员函数操作的那个对象。2. 当对一个对象调用成员函数时,编译程序先将对象的地址赋给this指针,然后调用成员函数,每次成员函数存取数据成员时,由隐含使用this指针。3. 当一个成员函数被调用时,自动向它传递一个隐含的参数,该参数是一个指向这个成员函数所在的对象的指针。 4. 在
2015-05-28 21:33:30 303
转载 标准C++中有四个类型转换符
关于强制类型转换的问题,很多书都讨论过,写的最详细的是C++ 之父的《C++的设计和演化》。最好的解决方法就是不要使用C风格的强制类型转换,而是使用标准C++的类型转换符:static_cast, dynamic_cast。标准C++中有四个类型转换符:static_cast、dynamic_cast、reinterpret_cast、和 const_cast。下面对它们一一进行介绍。
2015-05-20 20:55:11 323
转载 [深入理解C++(一)]类型转换(Type Casting)
[深入理解C++(一)]类型转换(Type Casting)罗朝辉 ( http://www.cppblog.com/kesalin/ )CC许可,转载请注明出处类型转换就是将给定类型的表达式转换为另一种类型。C++中的转型可分为两种:隐式类型转换和显式类型转换。下面将详细介绍这两种转型操作,以及各自的适用场景,潜在问题,最终将总结使用类型转换操作应牢记的原
2015-05-20 20:42:39 324
转载 关于C++ const 的全面总结
C++中的const关键字的用法非常灵活,而使用const将大大改善程序的健壮性,本人根据各方面查到的资料进行总结如下,期望对朋友们有所帮助。Const 是C++中常用的类型修饰符,常类型是指使用类型修饰符const说明的类型,常类型的变量或对象的值是不能被更新的。 一、Const作用 如下表所示:No.作用说明参考代码
2015-05-19 22:05:25 241
转载 C++ 关键字 explicit, export, mutable
explicit如果A类有某个构造函数的单个输入参数,是B类(包括基本数据类型)的对象或引用,则C++的编译器会在需要A类形参的函数调用中,自动调用该构造函数,将B类实参隐式地转换为A类实参。这种自动类型转换的好处是,避免了定义函数的两个重载版本,代价是隐式调用构造函数会增加调用开销,并可能会带来其他问题。在标准C++中,新增加了关键字explicit(显式/清楚/明确),(只能)用在
2015-05-19 21:45:41 265
转载 C++类型转换关键字(*_cast)
在C/C++语言中用 (type) value(在C++还可以采用type(value))来进行显式类型转换(explicit type conversion),常常又被称为强制转换(cast投射/铸模)。这种转换的正确性完全掌握在程序员手中,传统上强制转换往往被过度使用,成为C++程序犯错的一个主要根源。为了减少强制转换的副作用,并且在查错时使程序员能够快速定位(总是最值得怀疑的)强
2015-05-19 21:11:11 288
转载 C++new和delete的使用
基本数据类型的动态分配new和delete已经完全包含malloc和free的功能,并且更强大、方便、安全。使用动态分配内存时不能忘记释放内存,不要忘记出错处理!下面先看new和delete的基本使用方法。复制纯文本新窗口#include using namespace std; int main ( ){ //基本数据类型 int *i = new
2015-05-19 20:57:37 350
转载 【C++学习】C++中的new VS C语言中的malloc
【C++学习】C++中的new VS C语言中的malloc作者:gnuhpc 出处:http://www.cnblogs.com/gnuhpc/前几天一个朋友去面试百度空间的一个职位,被问及这个问题,我听后说了几点,不过感觉还是不透彻,所以上网查阅了一些资料,自己又想了想,总结一下。动作不同:在C++中,new一个对象时,程序完成对象的空间的分配的同时
2015-05-19 20:10:14 423
转载 C++:复制构造函数在什么时候被调用?
1、对象在创建时使用其他的对象初始化Person p(q); //此时复制构造函数被用来创建实例pPerson p = q; //此时复制构造函数被用来在定义实例p时初始化p2、对象作为函数的参数进行值传递时f(p); //此时p作为函数的参数进行值传递,p入栈时会调用复制构造函数创建一个局部对象,与函数内的局部变量具有相同的作用域需要注意的是,赋值并不会调用复制构造函数,赋值
2015-05-19 19:30:49 297
转载 C++学习:类的拷贝构造函数和赋值构造函数
在C++中,对于一个空的类,编译器一般默认它会有4个成员函数:构造函数,析构函数,复制构造函数和赋值函数。对于初学者而言,构造函数一定是要知道的:它的功能就是在创建一个新的对象的时候给数据成员赋初值,也就是给对象做初始化。析构函数则是用来释放一个对象,在对象删除之前用它来做一些内存释放等的清理工作,与构造函数的功能相反。 关于类的构造函数和析构函数的典型应用:在构造函数中用new来为
2015-05-19 19:22:32 374
转载 拷贝构造函数的作用
由于并非所有的对象都会使用拷贝构造函数和赋值函数,程序员可能对这两个函数有些轻视。请先记住以下的警告,在阅读正文时就会多心: 1.如果不主动编写拷贝构造函数和赋值函数,编译器将以“位拷贝”的方式自动生成缺省的函数。倘若类中含有指针变量,那么这两个缺省的函数就隐含了错误。以类String的两个对象a,b为例,假设a.m_data的内容为“hello”,b.m_data的内容为“world”。 现
2015-05-19 17:29:44 1226
转载 C/C++基本数据类型长度(转)
熟知基本数据类型是我们正确表达实际问题中各种数据的前提,因此我分类总结了一下C/C++/Windows /C#基本数据类型,以便日后查阅。 ANSI C/C++基本数据类型: Type Size 数值范围 无值型void 0 byte 无值域 布尔型bool
2015-05-19 16:17:57 373
转载 C++/C语言的标准库函数与运算符的区别new/delete malloc/free
malloc与free是C++/C语言的标准库函数,new/delete是C++的运算符。它们都可用于申请动态内存和释放内存。下面来看他们的区别。一、操作对象有所不同malloc与free是C++/C语言的标准库函数,new/delete是C++的运算符。对于非内部数据类型的对象而言,光用malloc/free无法满足动态对象的要求。对象在创建的同时要自动执行构造函
2015-05-19 16:10:58 667
转载 C语言new操作的安全性分析
对于学习过C语言的朋友应该都知道,使用 malloc/calloc 等分配内存的函数时,一定要检查其返回值是否为“空指针”(亦即检查分配内存的操作是否成功),这是良好的编程习惯,也是编写可靠程序所必需的。但是,如果你简单地把这一招应用到new上,那可就不一定正确了。我经常看到类似这样的代码:?1234int
2015-05-19 15:51:17 439
转载 C++的内存管理
这篇文章是我在学习高质量C++/C编程指南中的第7章"内存管理"后的一篇笔记,之前我也写过相关的文章指针以及内存分配,但我感觉那篇还不是很好,这篇我很把它更完善一些一.内存的常见分配方式 1. 从静态区分配,一般是全局变量和static类型变量 2.从栈区分配内存,一般是局部的变量,会随着所在函数的结束而自动释放 3.从堆中分配,一般是使用手动分配,使用mallo
2015-05-19 15:34:19 270
转载 linux如何查看端口相关信息
每一个端口都对应者一个服务或者某个软件。因此便于对主机安全着想,我们需要详细了解linux下,开放并在使用的端口信息,小编带大家认识一下。工具/原料linux方法/步骤使用“ cat /etc/services ”命令,可以查看所有服务默认的端口列表信息。
2015-05-17 16:51:53 332
转载 国产手机寒冬将至:成也安卓败也安卓?
文/王新喜当360、乐视、格力、美图以及李阳、众多明星都纷纷要做手机的时候,国产手机厂商却迎来了季度负增长。根据市场研究机构IDC日前公布的2015年第一季度《IDC全球手机季度跟踪报告》显示,2015年第一季度中国手机市场出货量为10980万部左右,同比下滑5.6%。其中智能手机市场出货量为98.8百万部左右,同比下降4.3%。而国内智能机市场第一的宝座,却被定位于高端窄众市场的苹果以1
2015-05-15 15:39:54 631
转载 C++的函数重载
—— 每个现象后面都隐藏一个本质,关键在于我们是否去挖掘写在前面:函数重载的重要性不言而明,但是你知道C++中函数重载是如何实现的呢(虽然本文谈的是C++中函数重载的实现,但我想其它语言也是类似的)?这个可以分解为下面两个问题1、声明/定义重载函数时,是如何解决命名冲突的?(抛开函数重载不谈,using就是一种解决命名冲突的方法,解决命名冲突还有很多其它的方法,这里就不论述
2015-05-13 16:58:11 388
转载 linux中fork()函数详解
一、fork入门知识 一个进程,包括代码、数据和分配给进程的资源。fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程,也就是两个进程可以做完全相同的事,但如果初始参数或者传入的变量不同,两个进程也可以做不同的事。 一个进程调用fork()函数后,系统先给新的进程分配资源,例如存储数据和代码的空间。然后把原来的进程的所有值都复制到新的新进程中,只有少数值与原来
2015-05-13 16:32:22 304
转载 C 语言restrict 关键字的使用浅谈
C99中新增加了restrict修饰的指针:由restrict修饰的指针是最初唯一对指针所指向的对象进行存取的方法,仅当第二个指针基于第一个时,才能对对象进行存取。对对象的存取都限定于基于由restrict修饰的指针表达式中。由restrict修饰的指针主要用于函数形参,或指向由malloc()分配的内存空间。restrict数据类型不改变程序的语义。编译器能通过作
2015-05-13 15:07:19 940
转载 restrict关键字用法
c99中新增加了一个类型定义,就是restrict。看了下网上的相关贴子,但还是问题解决的不够。下面是相关一个文章,我将在后面再加相关说明:那么restrict的意义是什么呢?概括的说,关键字restrict只用于限定指针;该关键字用于告知编译器,所有修改该指针所指向内容的操作全部都是基于(base on)该指针的,即不存在其它进行修改操作的途径;这样的后果是帮助编译器进行更好
2015-05-13 14:52:21 580
转载 字符串结束符'\0'
'\0'就是8位的00000000,因为字符类型中并没有对应的这个字符,所以这么写。在数值类型里就代表数字0。数值类型存储时,最高位决定正负号,其他位都为0可不就是0了么?'\0'是转译字符,意思是告诉程序,这不是字符0,我要的是数字0的2进制直接放进来,因为acsii码的0可不是00000000原来,在C语言中没有专门的字符串变量,通常用一个字符数组来存放一个
2015-05-08 10:38:06 620
转载 Sizeof与Strlen的区别与联系
一、sizeof sizeof(...)是运算符,在头文件中typedef为unsigned int,其值在编译时即计算好了,参数可以是数组、指针、类型、对象、函数等。 它的功能是:获得保证能容纳实现所建立的最大对象的字节大小。 由于在编译时计算,因此sizeof不能用来返回动态分配的内存空间的大小。实际上,用sizeof来返回类型以及静态分配的对象、结构或数组所
2015-05-08 09:42:04 240
转载 BP神经网络基本原理
2.1 BP神经网络基本原理 BP网络模型处理信息的基本原理是:输入信号Xi通过中间节点(隐层点)作用于输出节点,经过非线形变换,产生输出信号Yk,网络训练的每个样本包括输入向量X和期望输出量t,网络输出值Y与期望输出值t之间的偏差,通过调整输入节点与隐层节点的联接强度取值Wij和隐层节点与输出节点之间的联接强度Tjk以及阈值,使误差沿梯度方向下降,经过反复学习训练,确定与最小误差相对
2015-05-07 09:21:25 506
转载 Linux内核中ioremap映射的透彻理解
几乎每一种外设都是通过读写设备上的寄存器来进行的,通常包括控制寄存器、状态寄存器和数据寄存器三大类,外设的寄存器通常被连续地编址。根据CPU体系结构的不同,CPU对IO端口的编址方式有两种: (1)I/O映射方式(I/O-mapped) 典型地,如X86处理器为外设专门实现了一个单独的地址空间,称为"I/O地址空间"或者"I/O端口空间",CPU通过专门的I/O指令(如X86的
2015-05-06 16:51:45 263
转载 SIM300 基本命令集
//基本命令集//------------------------------------------------------------------const romchar AT_AT[] = {"AT/r/n"};const romchar AT_CBC[] ={"AT+CBC/r/n"}; //检查充电状态,以及电池电量占容量的百分比+CBC: 0,97,4164con
2015-05-06 16:38:26 305
转载 Linux下 fcntl 函数用法说明
功能描述:根据文件描述词来操作文件的特性。 文件控制函数 fcntl -- file controlLIBRARY Standard C Library (libc, -lc)SYNOPSIS #include ; int fcntl(int fd, int cmd); in
2015-05-06 15:05:18 238
转载 linux系统编程之文件与I/O(六):fcntl 函数与文件锁
一、fcntl函数功能:操纵文件描述符,改变已打开的文件的属性int fcntl(int fd, int cmd, ... /* arg */ );cmd的取值可以如下:复制文件描述符F_DUPFD (long)设置/获取文件描述符标志F_GETFD (void)F_SETFD (long)设置/获取文件状态标
2015-05-06 11:26:08 367
转载 #if 0 ... #endif的真实用途
在过去都没有去理会#if 的作用,今天突发奇想,开启编译器试一试。很多人都知道,#if 0 ... #endfif的作用跟/*...*/的作用是一样的,就是注释,可是注释为什么不用注释符号/*就行了么?google了一下,大家都说是为了解决嵌套注释。如:/*-----------------------------------------------------------
2015-05-05 22:11:55 540
oxygen xml editor 17.0.7z keygen
2015-07-29
java基础教程_Java快车
2015-07-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人