C++
文章平均质量分 72
yangzheng114
这个作者很懒,什么都没留下…
展开
-
C++基础类模版
.h-------->>>#ifndef __HSChannel_H__#define __HSChannel_H__#pragma once#include "HSTool.h"class HSChannel{public:HSChannel(void);~HSChannel(void);st原创 2014-02-24 13:17:45 · 715 阅读 · 0 评论 -
C++引用、指针的选择
最近一直在纠结在C++中是选择指针还是引用。纠结了很长时间,现在基本上可以确定下来。 首先说明一个指针和引用直接的区别。这个区别很常见,熟悉C++的人应该都很说上来。 1. 指针是一个实体,而引用仅是个别名;2. 引用使用时无需解引用(*),指针需要解引用;3. 引用只能在定义时被初始化一次,之后不可变;指针可变;引用“从一而终;4. 引用没有 const转载 2014-03-12 09:55:38 · 508 阅读 · 1 评论 -
Eclipse CDT 配置C/C++ 编译环境
当Visual C++长了尾巴,当Borland C++ Builder臃肿不堪,当钱包空空,难道在Windows下再没有我们可以负担的起而又足够优秀的C++ IDE?当然不是。这个世界上还有一种东西叫开源。本文的目的就是告诉你如何依靠开源软件搭建Windows XP下的C++ IDE(虽然搭配Linux OS是更好的选择,但毫无疑问的是,Windows OS至少在易用性上要远好于Linu转载 2014-03-12 20:50:38 · 657 阅读 · 0 评论 -
C语言输出格式总结
C语言输出格式总结2008年11月01日 星期六 04:23 P.M.1 一般格式 printf(格式控制,输出表列) 例如:printf("i=%d,ch=%c\n",i,ch); 说明: (1)“格式控制”是用双撇号括起来的字符串,也称“转换控制字符串”,它包括两种信息: ①格式说明:由“%”和格式字符组成转载 2014-03-11 21:06:37 · 2654 阅读 · 0 评论 -
QT中文乱码的解
今晚使用QMessageBox出现中文乱码,参考网上相关文档解决问题。下面这篇文章是从网上搜索的,文中说QTextCodec::codecForName("GB2312")等代码可以保证在程序中直接使用中文而不出现乱码是欠全面的,比如,在Mac OS X 10.6.2中文版上,须使用QTextCodec::codecForName("UTF-8")才能保证中文不出现乱码。QT国际化支持转载 2014-03-12 13:21:15 · 1108 阅读 · 0 评论 -
Eclipse c++ gdbserver
环境变量ANDROID_SDK_HOME E:\adt-bundle-windows-x86_64-20130917\sdkCOCOS2DX_ROOT f:\work\IOS\Client\cocos2dx-2.1beta3-x-2.1.1 NDK_MODULE_PATH %COCOS2DX_ROOT%;%COCOS2DX_RO原创 2014-03-09 14:46:18 · 624 阅读 · 0 评论 -
关于typedef的用法总结
不管实在C还是C++代码中,typedef这个词都不少见,当然出现频率较高的还是在C代码中。typedef与#define有些相似,但更多的是不同,特别是在一些复杂的用法上,就完全不同了,看了网上一些C/C++的学习者的博客,其中有一篇关于typedef的总结还是很不错,由于总结的很好,我就不加修改的引用过来了,以下是引用的内容(红色部分是我自己写的内容)。用途一:定义一种类型的别转载 2014-03-09 14:24:44 · 350 阅读 · 0 评论 -
c++ debug 看内存
第一步:sdk目录下.android目录 ddms.cfg在末尾加入native=true然后敲回车 第二步 如图操作命令 第三不 启动模拟器 第四步 ddms.bat启动原创 2014-03-09 13:56:29 · 656 阅读 · 0 评论 -
GCC 编译使用动态链接库和静态链接库
1 库的分类根据链接时期的不同,库又有静态库和动态库之分。静态库是在链接阶段被链接的(好像是废话,但事实就是这样),所以生成的可执行文件就不受库的影响了,即使库被删除了,程序依然可以成功运行。有别于静态库,动态库的链接是在程序执行的时候被链接的。所以,即使程序编译完,库仍须保留在系统上,以供程序运行时调用。(TODO:链接动态库时链接阶段到底做了什么)2 静态库和动转载 2014-08-13 18:14:51 · 389 阅读 · 0 评论 -
CMake 使用方法
CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程)。他能够输出各种各样的makefile或者project文件,能测试编译器所支持的C++特性,类似UNIX下的automake。CMake 使用方法CMake的所有的语句都写在一个叫:CMakeLists.txt 的文件中。当CMakeLists.txt文件确定后,可以用ccmake命令对相关转载 2014-08-13 18:19:22 · 375 阅读 · 0 评论 -
C++ 各种全局常量的声明方式的优缺点?
C++ 各种全局常量的声明方式的优缺点?蓝色梦幻5 票1607在一些比较大的工程中,经常会用到很多全局常量,这些常量的声明方式有很多种。比如:宏常量 #define XXXXX = 0x00枚举常量 enum{ YYYYY = 0, ZZZZZ = 1 };……除此之外还有什么常量声转载 2014-11-14 13:32:14 · 646 阅读 · 0 评论 -
C++字符串格式化 sprintf、printf
在将各种类型的数据构造成字符串时,sprintf 的强大功能很少会让你失望。由于sprintf 跟printf 在用法上几乎一样,只是打印的目的地不同而已,前者打印到字符串中,后者则直接在命令行上输出。这也导致sprintf 比printf 有用得多。sprintf 是个变参函数,定义如下:int sprintf( char *buffer, const char *format [,转载 2014-12-04 10:11:51 · 2720 阅读 · 0 评论 -
Base64 编解码C语言实现
具体代码如下:#include const char base[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="; char* base64_encode(const char* data, int data_len); char *base64_decode(const char*转载 2015-02-04 18:02:42 · 444 阅读 · 0 评论 -
C++全局变量的声明和定义
(1)编译单元(模块) 在VC或VS上编写完代码,点击编译按钮准备生成exe文件时,编译器做了两步工作:第一步,将每个.cpp(.c)和相应的.h文件编译成obj文件;第二步,将工程中所有的obj文件进行LINK,生成最终.exe文件。 那么,错误可能在两个地方产生:一个,编译时的错误,这个主要是语法错误;一个,链接时的错误,主要是重复定义变量等。转载 2015-03-12 09:08:05 · 422 阅读 · 0 评论 -
C/C++定义全局变量/常量几种方法的区别
在讨论全局变量之前我们先要明白几个基本的概念:1. 编译单元(模块): 在IDE开发工具大行其道的今天,对于编译的一些概念很多人已经不再清楚了,很多程序员最怕的就是处理连接错误(LINK ERROR), 因为它不像编译错误那样可以给出你程序错误的具体位置,你常常对这种错误感到懊恼,但是如果你经常使用gcc,makefile等工具在linux或者嵌入式下做开发工作的话,那么你可能非转载 2015-04-09 11:25:19 · 373 阅读 · 0 评论 -
JAVA基础之理解JNI原理
JAVA基础之理解JNI原理JNI是JAVA标准平台中的一个重要功能,它弥补了JAVA的与平台无关这一重大优点的不足,在JAVA实现跨平台的同时,也能与其它语言(如C、C++)的动态库进行交互,给其它语言发挥优势的机会。有了JAVA标准平台的支持,使JNI模式更加易于实现和使用。在此总结了下面这个知识图:实例:环境说明:ubuntu 10.4.2 LTS系统程序清单1:转载 2014-03-11 21:06:08 · 516 阅读 · 0 评论 -
Qt安装—搭建VS2008+QT开发环境
(一)工欲善其事,必先利其器,废话不多讲。 总结起来网上流行的VS2008+QT安装说明有以下几个问题需要解释清楚: 1,首先明确需要下载什么版本的QT。网上流行的安装说明只是针对过去旧版本的QT,还有要求下载VS2008 SP1补丁的等等。很乱,对于刚接触Qt开发者会造成不必要的困扰,安装个开发环境真的需要那么繁琐和劳神吗。 2,对于环境变量的配置,诸转载 2014-03-12 20:50:01 · 519 阅读 · 0 评论 -
cocos2d-x 集成移动游戏基地 sdk包 cmgame 遇到的问题
在cocos2d-x 集成 cmgame时,有时会遇到这个错误02-26 16:51:18.565: W/dalvikvm(16222): JNI WARNING: JNI method called with exception pending02-26 16:51:18.565: W/dalvikvm(16222): in Ljava/lang/Run原创 2014-02-26 17:01:00 · 5457 阅读 · 3 评论 -
ndk下载地址
window版本Android NDK r6bWindowshttp://dl.google.com/android/ndk/android-ndk-r6b-windows.zipMac OS X(intel)http://dl.google.com/android/ndk/android-ndk-r6b-darwin-x86.tar.bz2Linu转载 2014-03-06 09:44:27 · 616 阅读 · 0 评论 -
手游开发知识(三)--NDK联机调试
做NDK开发的时候,调试是比较头疼的事情;但是没有调试,有些具体的错误就无法了解。这里我流水似的介绍一下在真机下的ndk调试方案,以下是我的笔记: NDK进行调试的时候,遇到了几个问题:1) 需要对Android手机有root权限来设置执行一些命令2)配置ndk-build3)配置adbserver4)配置adb client 调试的转载 2014-03-06 09:45:42 · 598 阅读 · 0 评论 -
前置声明的使用
有一定C++开发经验的朋友可能会遇到这样的场景:两个类A与B是强耦合关系,类A要引用B的对象,类B也要引用类A的对象。好的,不难,我的第一直觉让我写出这样的代码:[cpp] view plaincopy12345678910111213转载 2014-03-12 13:19:42 · 855 阅读 · 0 评论 -
va_start va_arg va_end 的使用和原理
◎用法:func( Type para1, Type para2, Type para3, ... ){ /****** Step 1 ******/ va_list ap; va_start( ap, para3 ); //一定要“...”之前的那个参数 /****** Step 2 ******/ //此转载 2014-03-11 21:03:28 · 592 阅读 · 0 评论 -
C语言中static的变量:
C语言中static的变量:1).static局部变量 a、静态局部变量在函数内定义,生存期为整个程序运行期间,但作用域与自动变量相同,只能在定义该变量的函数内使用。退出该函数后, 尽管该变量还继续存在,但不能使用它。 b、对基本类型的静态局部变量若在说明时未赋以初值,则系统自动赋予0值。而对自动变量不赋初值,则其值是不定的。2).static全局变量转载 2014-03-06 13:58:44 · 558 阅读 · 0 评论 -
C++中#define用法
#define是C语言中提供的宏定义命令,其主要目的是为程序员在编程时提供一定的方便,并能在一定程度上提高程序的运行效率,但学生在学习时往往不能 理解该命令的本质,总是在此处产生一些困惑,在编程时误用该命令,使得程序的运行与预期的目的不一致,或者在读别人写的程序时,把运行结果理解错误,这对 C语言的学习很不利。1 #define命令剖析1.1 #define的概念#define命令转载 2014-03-12 09:55:03 · 3961 阅读 · 0 评论 -
c++ 之类的前置声明
刚开始学习c++的人都会遇到这样的问题:定义一个类 class A,这个类里面使用了类B的对象b,然后定义了一个类B,里面也包含了一个类A的对象a,就成了这样:一编译,就出现了一个互包含的问题了,这时就有人跳出来说,这个问题的解决办法可以这样,在a.h文件中声明类B,然后使用B的指针。然后,问题就解决了。但是,有人知道问题是为什么就被解决的吗,也就是说,转载 2014-03-12 10:06:13 · 427 阅读 · 0 评论 -
vs 添加qt提示
使用Visual Studio(VS)开发Qt程序代码提示功能的实现(转)2011-02-28 09:23 276人阅读 评论(0) 收藏 举报使用Visual Studio(VS)开发Qt程序代码提示功能的实现2010-08-16 14:56伴随着系统的重装VS和Qt也重新安装与配置。噢!问题出现了,VS可以识别QT,但是代码提供功能对QT完全失效,而且在VS中右转载 2014-03-12 13:21:52 · 1560 阅读 · 0 评论 -
C++虚函数和纯虚函数区别
1.纯虚函数声明如下: virtual ReturnType FunctionName(Parameter)=0;纯虚函数一定没有定义,纯虚函数用来规范派生类的行为,即接口。包含纯虚函数的类是抽象类,抽象类不能定义实例,但可以声明指向实现该抽象类的具体类的指针或引用。2.虚函数声明如下:virtual ReturnType FunctionName(Parameter);转载 2014-03-12 20:53:43 · 470 阅读 · 0 评论 -
清除vs2003-vs2008起始页最近打开项目
有时候vs2005起始最近打开项目过多很想清除掉,但打遍了也没找到清除选项在哪里,今天找到了方法,发上来和大家共享。方法一手工操作方法:1)删除最近打开的文件运行regedit,打开HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\8.0\FileMRUList 之后,在右边删除相应键值就可以了。2)删除最近打开的项目操转载 2014-03-12 20:54:18 · 446 阅读 · 0 评论 -
C/C++中extern关键字详解
1 基本解释:extern可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。此外extern也可用来进行链接指定。 也就是说extern有两个作用,第一个,当它与"C"一起连用时,如: extern "C" void fun(int a, int b);则告诉编译器在编译fun这个函数名时按着C的规则去翻译相应的函数转载 2014-03-12 10:16:51 · 370 阅读 · 0 评论 -
C++ 引用与指针
C++学习笔记引用与指针引用可以作为函数中其他变量的别名,int count = 1;int &cRef = count; 此时Ref 就是count的别名,对Ref的操作同样会改变count;引用参数应该是左值,而不能是常量或返回左值的表达式,并且引用生命是必须初始化,且一旦初始化就不能再次赋值下面是在函数调用时引用的应用void squa转载 2014-03-12 13:18:42 · 573 阅读 · 0 评论 -
C++中,函数名前的const和函数名后的const的区别
首先要知道函数名后面加const只能用于成员函数。int const func(); //合法,相当于const int func();int func2() const; //非法,对函数的const限定词只能用于成员函数在成员函数中,const加在函数名前和后也是有区别的。例如:class A { int const func(); int func() cons转载 2014-03-12 20:56:40 · 943 阅读 · 0 评论 -
C++拷贝构造函数(深拷贝,浅拷贝)
对于普通类型的对象来说,它们之间的复制是很简单的,例如:int a=88;int b=a; 而类对象与普通对象不同,类对象内部结构一般较为复杂,存在各种成员变量。下面看一个类对象拷贝的简单例子。 #include iostream>using namespace std;class CExample {private: int a;publi转载 2014-03-12 09:49:00 · 393 阅读 · 0 评论 -
char*,const char*和string的相互转换
好久没写东西啦,发表学术文章一篇,hiahia~近日和小佳子编程时遇到很多转换问题,很麻烦,在网上查了很多资料。为了以后查找方便,特此总结如下。如果有不对的地方或者有更简单的方法,请指出~~1. string转const char* string s = "abc"; const char* c_s = s.c_str();2. co转载 2015-07-07 09:56:46 · 4188 阅读 · 0 评论