编程基础
十忆没十亿
干了3年C++,被AS3干了2年,又来干TS了
展开
-
如何判断文本的编码格式以及编码格式转换
字符集(Charcater Set或Charset)是一个系统支持的所有抽象字符的集合,也就是一系列字符的集合。字符编码(Character Encoding)是一套法则,使用该法则能够对自然语言的字符的一个字符集(如字母表或音节表),与计算机能识别的二进制数字进行配对。为了使国际间信息交流更加方便,国际组织制定了 UNICODE 字符集,为各种语言中的每一个字符设定了统一并且唯一的数字编号。原创 2017-12-28 16:43:00 · 12601 阅读 · 0 评论 -
C和C++结构体的区别
C的结构体内不允许有函数存在,C++允许有内部成员函数,且允许该函数是虚函数。所以C的结构体是没有构造函数、析构函数、和this指针的。C的结构体对内部成员变量的访问权限只能是public,而C++允许public,protected,private三种。C语言的结构体是不可以继承的,C++的结构体是可以从其他的结构体或者类继承过来的。在C中定义一个结构体类型要用typedef,如下:typede...转载 2018-04-28 11:39:51 · 261 阅读 · 0 评论 -
c++异常捕获及异常处理try-throw-catch
一直以来,我对c++的异常捕获功能非常困惑。因为网上几乎99%的关于c++异常捕获的文章给我的感觉就是:c++异常捕获很简单的啦~就是下面这样嘛,如下情景1:try{ int a = 5, b = 0, c = 0; c = a / b; // 这里异常}catch(...) // 捕获所有异常{ printf_s("Do not do this...原创 2018-05-11 19:07:51 · 12907 阅读 · 3 评论 -
为什么构造函数不能声明为虚函数,析构函数可以
构造函数不能声明为虚函数,析构函数可以声明为虚函数,而且有时是必须声明为虚函数。不建议在构造函数和析构函数里面调用虚函数。构造函数不能声明为虚函数的原因是:1 构造一个对象的时候,必须知道对象的实际类型,而虚函数行为是在运行期间确定实际类型的。而在构造一个对象时,由于对象还未构造成功。编译器无法知道对象 的实际类型,是该类本身,还是该类的一个派生类,或是更深层次的派...转载 2018-05-03 19:35:04 · 204 阅读 · 0 评论 -
DllMain详解
本文转载自:https://blog.csdn.net/benkaoya/article/details/25047811 DLL的进入/退出函数1.1 DllMain简介跟exe有个main或者WinMain入口函数一样,DLL也有一个入口函数,就是DllMain。以“DllMain”为关键字,来看看MSDN帮助文档怎么介绍这个函数的。The DllMain function is an o...转载 2018-04-20 14:49:04 · 1015 阅读 · 0 评论 -
C/C++调用约定__stdcall、__cdecl和__fastcall的区别
__stdcall、__cdecl和__fastcall是三种函数调用协议,函数调用协议会影响函数参数的入栈方式、栈内数据的清除方式、编译器函数名的修饰规则等。如下图所示,可以在IDE环境中设定所有函数默认的调用协议,还可以在函数定义时单独设定本函数的调用协议。调用协议常用场合__stdcall:Windows API默认的函数调用协议。__cdecl:C/C++默认的函数调用协议。__fastc...转载 2018-04-23 16:23:35 · 372 阅读 · 0 评论 -
C++ string字符串初始化
先来看看C的字符串是如何进行初始化的:char *cpStr="hello world";char arr1[]="hello world";char arr2[]={'h','e','l','l','o'};这三种定义c字符串的方式,其中前两种虽然形式不一样但含义是一摸一样的,没有差别,在计算字符长度的时候都会比实际显示的字符长度多1,因为这两种初始化会在字符串末尾默认添加了一个‘/0’。而...原创 2018-04-18 11:09:33 · 15110 阅读 · 0 评论 -
使用fstream进行文件读写时如何选择文件打开方式
一、fstream文件打开方式。 ios::in input 以输入方式打开文件。 ios::out output 以输出方式打开文件。 ios::app append 以追加方式打开文件。 ios::ate at end ...转载 2018-04-17 17:12:43 · 2620 阅读 · 0 评论 -
为什么要用大写的那些类型修饰符?如INT与int、BOOL与bool
本文转载自:https://blog.csdn.net/yjn001/article/details/3761709一般的任何一个正规的项目开发第一件事情要做的就是在开发环境上架一层自己的环境,主要包括类型定义、内存管理和文件管理。主要的目的是为了代码的可移植性和可维护性。 例如在标准C的环境下,16位处理器的int是16位,...转载 2018-04-16 20:20:36 · 1336 阅读 · 0 评论 -
关于strcpy_s第二个参数(目标缓冲区大小)的测试以及更加安全的替代方案
先来看一下msdn上的函数原型和对其参数的解释errno_t strcpy_s( char *strDestination, size_t numberOfElements, const char *strSource ); ParametersstrDestinationLocation of the destination string buffer...原创 2018-06-13 14:52:50 · 2990 阅读 · 0 评论