- 博客(17)
- 收藏
- 关注
原创 C++高级编程学习笔记
1、引用:&与类型一起使用来说明某个变量是一个引用,可以向使用普通变量那样使用这个变量,但是在幕后它实际上是一个指向原始变量的指针。注:引用传递与值传递有个区别,值传递可以传递敞亮,使用func(3),引用传递则不行,会导致编译错误2、数值转换:C++11新标准增加了新的全局函数std::to_string,包括如下:string to_string (int val);strin
2017-08-18 16:29:03
322
转载 java中,部署出现非法字符:\65279
今天同事修改代码,图方便用记事本修改了一行代码提交,部署到服务器出现了问题。般用UE或记事本编辑过的UTF-8的文件头会加入BOM标识,该标识由3个char组成。在UTF-8的标准里该BOM标识是可有可无的,Sun 的javac 在编译带有BOM的UTF-8的格式的文件时会出现“非法字符:\65279”的错误,但是用Eclipse进行编译却没有问题,原因在于Eclipse使用的是自己的JD
2016-11-11 14:14:33
373
原创 Windows Tinyxml读取xml文件小结
TinyXML是一个开源的解析XML的解析库,能够用于C++,能够在Windows或Linux中编译。这个解析库的模型通过解析XML文件,然后在内存中生成DOM模型,从而让我们很方便的遍历这棵XML树。DOM模型即文档对象模型,是将整个文档分成多个元素(如书、章、节、段等),并利用树型结构表示这些元素之间的顺序关系以及嵌套包含关系。TinyXML是个解析库,主要由DOM模型类(TiXmlBase、
2015-04-30 14:09:31
552
原创 Windows定时器SetTimer
网上很多大神都已经总结的很好了,我只是把自己的学习心得简单的再写出来,方便自己记忆首先SetTimer是告诉Windows每隔一段时间要执行某件事,然后Windows以此时间间隔周期性触发程序,网上很多人说有两种实现方法,1.发送WM_TIMERE消息 2.调用应用程序定义的回调函数不过在此我要质疑一下,WM_TIMER函数我是没法使用的,因为我的程序不是MFC的,所以这种方法我试了多
2015-04-30 14:08:55
731
原创 关于VC++中sqlite3的配置和简单使用小结
公司突然要我们搞sqlite3数据库,对于这方面一无所知,在网上搜集了诸多资料才终于配置好了,之前一直被误导。在官网上(非官网也行)去下载sqlite3,不是sqlite3.exe,而是下载的包,一般下载的包是sqlite3.h、sqlite3.dll和sqlite3.def。1、把sqlite3.h放进工程中,并在工程文件需要调用sqlite3函数的地方添加头文件#include “sq
2013-10-23 09:35:00
3423
转载 Vc++调试技巧之调用堆栈
调试是程序开发者必备技巧。如果不会调试,自己写的程序一旦出问题,往往无从下手。本人总结10年使用VC经验,对调试技巧做一个粗浅的介绍。希望对大家有所帮助。今天简单的介绍介绍调用堆栈。调用堆栈在我的专栏的文章VC调试入门提了一下,但是没有详细介绍。首先介绍一下什么叫调用堆栈:假设我们有几个函数,分别是function1,function2,function3,funtion4,且fu
2013-10-14 16:36:11
894
转载 CFileFind用法
1、CFileFind类的声明文件保存在afx.h头文件中。2、该类的实现的功能:执行本地文件的查找(查找某个具体的文件,查找某类文件x*.x*,查找所有文件*.*)3、CFileFind类是CGopherFileFind和CFtpFileFind类的基类。4、CFileFind类的构造函数::CFileFind()和关闭函数::Close()我会成对使用。5、CFileFind类
2013-08-21 16:19:03
1085
转载 C++map的基本操作和使用
C++map的基本操作和使用 1、map简介map是一类关联式容器。它的特点是增加和删除节点对迭代器的影响很小,除了那个操作节点,对其他的节点都没有什么影响。对于迭代器来说,可以修改实值,而不能修改key。2、map的功能自动建立Key - value的对应。key 和 value可以是任意你需要的类型。根据key值快速查找记录,查找的复杂度基本是Log(N)
2013-08-20 17:28:53
670
转载 GetBuffer与ReleaseBuffer的用法,CString剖析
转载:http://blog.pfan.cn/xman/43212.htmlGetBuffer()主要作用是将字符串的缓冲区长度锁定,releaseBuffer则是解除锁定,使得CString对象在以后的代码中继续可以实现长度自适应增长的功能。CString ::GetBuffer有两个重载版本:LPTSTR GetBuffer( );LPTSTR GetBuffer(int
2013-08-12 15:52:13
454
转载 socket编程在windows和linux下的区别
如无其它说明,本文所指Linux均表示2.6内核Linux,GCC编译器,Windows均表示Windows XP系统,Visual Studio 2005 sp1编译环境。下面大概分几个方面进行罗列:Linux要包含[cpp] #include #include #include #include 等头文件,而windows下
2013-08-08 16:44:28
1100
转载 SendMessage、PostMessage原理
SendMessage、PostMessage原理本文讲解SendMessage、PostMessage两个函数的实现原理,分为三个步骤进行讲解,分别适合初级、中级、高级程序员进行理解,三个步骤分别为:1、SendMessage、PostMessage的运行机制。2、SendMessage、PostMessage的运行内幕。3、SendMessage、PostMessage的内部实
2013-07-26 08:36:12
496
转载 GCC 编译使用动态链接库和静态链接库
1 库的分类根据链接时期的不同,库又有静态库和动态库之分。静态库是在链接阶段被链接的(好像是废话,但事实就是这样),所以生成的可执行文件就不受库的影响了,即使库被删除了,程序依然可以成功运行。有别于静态库,动态库的链接是在程序执行的时候被链接的。所以,即使程序编译完,库仍须保留在系统上,以供程序运行时调用。(TODO:链接动态库时链接阶段到底做了什么)2 静态库和动
2013-07-26 08:34:59
345
转载 socket通信简介
“一切皆Socket!”话虽些许夸张,但是事实也是,现在的网络编程几乎都是用的socket。——有感于实际编程和开源项目研究。我们深谙信息交流的价值,那网络中进程之间如何通信,如我们每天打开浏览器浏览网页时,浏览器的进程怎么与web服务器通信的?当你用QQ聊天时,QQ进程怎么与服务器或你好友所在的QQ进程通信?这些都得靠socket?那什么是socket?socket的类型
2013-07-26 08:33:19
339
转载 字节对齐
C编译器的缺省字节对齐方式(自然对界) 在缺省情况下,C编译器为每一个变量或是数据单元按其自然对界条件分配空间。在结构中,编译器为结构的每个成员按其自然对界(alignment)条件分配空间。各个成员按照它们被声明的顺序在内存中顺序存储(成员之间可能有插入的空字节),第一个成员的地址和整个结构的地址相同。C编译器缺省的结构成员自然对界条件为“N字节对齐”,N即该成员数据类型的长度。如i
2013-07-26 08:32:21
398
转载 全局变量、静态全局变量、静态局部变量和局部变量的区别
变量可以分为:全局变量、静态全局变量、静态局部变量和局部变量。按存储区域分,全局变量、静态全局变量和静态局部变量都存放在内存的静态存储区域,局部变量存放在内存的栈区。按作用域分,全局变量在整个工程文件内都有效;静态全局变量只在定义它的文件内有效;静态局部变量只在定义它的函数内有效,只是程序仅分配一次内存,函数返回后,该变量不会消失;局部变量在定义它的函数内有
2013-07-26 08:30:49
761
转载 静态区-栈区-堆区区别
静态区: 保存自动全局变量和 static 变量(包括 static 全局和局部变量)。静态区的内容在总个程序的生命周期内都存在,由编译器在编译的时候分配。 堆: 由 malloc 系列函数或 new 操作符分配的内存,其生命周期由 free 或 delete 决定。在没有释放之前一直存在,直到程序结束,其特点是使用灵活,空间比较大,但容易出错 栈: 保存局部变量,栈上的内容只在函数的范围
2013-07-26 08:29:04
586
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人