
CPP Programming
Qicz
不断学习奋斗者,以完成高效工程管理为目标。 希望不断提高自我的管理技能,把握技术的方向。积极参与实践各种技术热点,并与同行分享。
展开
-
c++ 与 Java比较
点击打开链接“作为一名C++程序员,我们早已掌握了面向对象程序设计的基本概念,而且Java的语法无疑是非常熟悉的。事实上,Java本来就是从C++衍生出来的。” 然而,C++和Java之间仍存在一些显著的差异。可以这样说,这些差异代表着技术的极大进步。一旦我们弄清楚了这些差异,就会理解为什么说Java是一种优秀的程序设计语言。本附录将引导大家认识用于区分Java和C++的一些重要特征转载 2012-03-18 15:17:24 · 2242 阅读 · 0 评论 -
C++ template 问题
今天在http://bbs.51cto.com/viewthread.php?tid=854253&pid=4320845&page=1&extra=#pid4320845看到了一个关于C++template的问题,于是就仔细的研究过了一下。#include原创 2011-07-04 19:17:23 · 1397 阅读 · 3 评论 -
C++ Exception
Exception Classes for Language SupportExceptions for language support are used by language features. So in a way they are part of转载 2011-07-05 16:08:32 · 802 阅读 · 0 评论 -
C++中如何定义某个数组的引用?
我要定义一个函数,以某个数组为参数。函数中要计算这个数组的长度。如果是在外面,可以直接用诸如sizeof a/sizeof a[0]这样的方法得到,但是我把a作为参数传到函数中后,这个形参就是指针类型了,用sizeof相除的办法得到的始终是1,所以我想是不是转载 2011-07-04 16:50:36 · 848 阅读 · 0 评论 -
c++对数组的引用
所谓数组引用,即指向数组的引用;如 int a[10] ; int (&b)[10] = a ;如果写成 int a[10] ; int* &b = a ;将会报错: cannot convert转载 2011-07-04 16:48:07 · 638 阅读 · 0 评论 -
C++的static关键字
C++的static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static。前者应用于普通变量和函数,不涉及类;后者主要说明static在类中的作用。一、面向过程设计中的static1、静态全局变量在全局变量前,加上关键字static,该变量就被定义成为一个静态全局变量。我们先举一个静态全局变量的例子,如下://Example 1#include转载 2011-07-01 07:12:00 · 454 阅读 · 0 评论 -
Test Driven Development
Test Driven Development When you code, alternate these activities: add a test, get it to fail, and write code to pass the test (DoSimpleThings, CodeUnitTestFirst)remove duplication (转载 2011-07-01 08:11:00 · 1323 阅读 · 0 评论 -
C++ static、const对象声明与定义 问题 最终解决了
是的,一直以来对“ C++ static、const对象声明与定义 问题来源 ”所述的问题都用vs2008来写demo来测试,没有用linux的gcc尝试过,今天尝试了一下,这样以来问题还给解决了。。。 这里使用的是redhat 5.5 T.h文件内容: T.cpp main.cpp 程序执行: 上面的demo显示,《C++原创 2011-06-30 16:27:00 · 555 阅读 · 0 评论 -
C++ static、const对象声明与定义 问题来源?
问题源自书《C++primer》(第四版·特别版)。书401页下面注意中写道: const static 数据成员在类的定义体中初始化时,该数据成员仍必须在类的定义体之外进行定义。 书402页页首写道: 在类内部提供初始化时,成员的定义不必在指定初始值: 参看代码是: class Account{ ... pr原创 2011-06-29 08:41:00 · 839 阅读 · 0 评论 -
C++ static、const对象声明与定义 --续集--疑问?
昨天那个朋友告诉我处理const static的办法,程序却也跑起来了。但是昨晚睡觉的时候突然觉得不对头。看下面的代码:#include "TestClass.h"//static const int TestClass::m_con_var;//int TestClass::m_nvar = 0;//int TestClass::m_cnsta_var = 12;//Tes原创 2011-06-29 08:25:00 · 600 阅读 · 0 评论 -
均值不等式的简单探究
from:点击打开链接//Copyright (c) LeafCore#include #include #include LRESULT CALLBACK WindowProcedure(HWND, UINT, WPARAM, LPARAM);v转载 2011-07-05 12:46:37 · 684 阅读 · 0 评论 -
MINA服务端与C++客户端通讯(1)
from:http://www.cppblog.com/chugf/archive/2011/07/05/150223.aspx最近学习了Apache MINA通讯,在使用过程中碰到了一些问题,记录下一些心得。在服务端和客户端都使用MINA提供的库时,通讯一切正常,当我把客户端改转载 2011-07-07 13:51:25 · 894 阅读 · 0 评论 -
MINA服务端与C++客户端通讯(2)
from:http://www.cppblog.com/chugf/archive/2011/07/05/150224.aspxJava与C++通讯还有编码转码的问题存在,假设通讯编码采用UTF-8C++客户端发送时需要转码成UTF-8编码,接收服务端应答消息后再转回Unicod转载 2011-07-07 13:53:11 · 872 阅读 · 0 评论 -
C++ 异常处理 terminate函数使用
code:#include using namespace std;void terminator(){ cout << "I 'll be back!" <<endl; exit(0);}void (*old_terminate)() = set_terminate(terminator);class B{public : class A{}; void f(){原创 2012-03-12 10:06:21 · 3002 阅读 · 0 评论 -
QQ 信息一定要留下的
static const char QQ_APPLY_FREE_ACOUNT_URL[] = "http://jump.qq.com/clienturl_239?ADUIN=0&ADSESSION=0&ADTAG=CLIENT.QQ.1595_LoginWindo原创 2011-09-30 13:51:20 · 853 阅读 · 0 评论 -
再来一个很蛋的C++程序
#include #include #include QStringList names;QStringList nodes1;QStringList nodes2;QListQStringList> nodeslist;int getNa原创 2011-10-10 21:06:23 · 1318 阅读 · 1 评论 -
C++,让我最蛋的程序
为什么蛋,不解释!!!!!!!!!!!!!!!!#include #include int changeName(QString &name);int main(int argc, char *argv[]){ QCoreApplicat原创 2011-10-10 19:50:49 · 1148 阅读 · 3 评论 -
c++中string的用法
原文点击打开之所以抛弃char*的字符串而选用C++标准程序库中的string类,是因为他和前者比较起来,不必 担心内存是否足够、字符串长度等等,而且作为一个类出现,他集成的操作函数足以完成我们大多数情况下(甚至是100%)的需要。我们可以用 = 进行赋值操作,==转载 2011-09-20 12:35:30 · 649 阅读 · 0 评论 -
C++ static
点击打开链接转载 2011-09-14 14:13:14 · 524 阅读 · 0 评论 -
使用 Eclipse C/C++ Development Toolkit 开发应用程序
点击打开链接原创 2011-07-25 18:37:03 · 719 阅读 · 0 评论 -
用asio传文件
from:点击打开链接看了几天asio文档,总算可以写点小程序了。有些细节还是没弄明白,同步IO好像还不能设超时?服务器端采用异步IO,客户端则采用同步IO。传送文件,不得不注意到 C/C++ 2G文件限制,好像没通用的解决方法。 先定义下头文件,统一下asio和boost_as转载 2011-07-08 10:44:02 · 864 阅读 · 0 评论 -
C++程序的父亲母亲:编译器和链接器
froM:点击打开链接转载 2011-07-07 13:47:28 · 549 阅读 · 0 评论 -
c++小时钟
from:点击打开链接clock.h #ifndef _CLOCK_H_ #define _CLOCK_H_ struct Time{ int hour, minute, second; }; void set(Time* p, int h转载 2011-07-07 13:41:11 · 676 阅读 · 0 评论 -
C++ static、const对象声明与定义 --续集
////////////////fileName:TestClass.h//////////////#pragma once#ifndef THIS___#define THIS___#include using namespace std;//const int TestClass::m_con_varclass TestClass{public:原创 2011-06-28 20:51:00 · 644 阅读 · 0 评论 -
利用vector与class完成的链表排序操作demo
//ListClass.h#pragma onceclass ListClass{public: ListClass(void); ListClass(int var,string name); virtual ~ListClass(void); int getVar(void); void setVar(int var); string getVarNa原创 2011-06-28 17:13:00 · 738 阅读 · 0 评论 -
C++ static、const对象声明与定义
////////////////fileName:TestClass.h////////////#pragma onceclass TestClass{public: TestClass(); TestClass(int n); virtual ~TestClass(void);protected: int m_ntestVar; static原创 2011-06-28 12:56:00 · 640 阅读 · 0 评论 -
循环语句的效率
在多重循环中,如果有可能,应当将最长的循环放在最内层,最短的循环放在最外层,以减少CPU 跨切循环层的次数。for (row=0; row{for ( col=0; col{sum = sum + a[row][col];}}低效率:长循环在最外层 for (col=0; col{for (row=0; row{sum = sum + a[r原创 2011-06-23 15:35:00 · 592 阅读 · 0 评论 -
compare with zero value
假设整型变量的名字为value,它与零值比较的标准if 语句如下:if (value == 0)if (value != 0)不可模仿布尔变量的风格而写成if (value) // 会让人误解value 是布尔变量if (!value) 假设布尔变量名字为flag,它与零值比较的标准if 语句如下:if (flag) // 表示flag 为真if (原创 2011-06-23 15:26:00 · 596 阅读 · 0 评论 -
学习linux下的c/c++编程
学习linux下的c/c++编程1,先有linux环境搭minGW和cygwin都有点麻烦,最最简单的办法还是装个真正的linux,用虚拟机也好,在网络上的另一台机器也好。这样不仅快,而且你有了真正的环境。2.会C/C++语言(估计你会的)3.入门阶段熟悉gcc命令行,最基本的参数,如,-g,-W,-O,-o,-c 建议看man gcc(很大找想要的)4.编译第一个helloworld程序: 基转载 2011-06-22 13:52:00 · 735 阅读 · 0 评论 -
数据类型转换函数strtod | atoi | atol
strtod > Convert string to doubleatoi > Convert string to intatol > Convert string to long int 1、strtoddouble strtod ( const char * str, char ** endptr );Convert原创 2011-06-19 19:16:00 · 807 阅读 · 0 评论 -
atof 函数参考
double atof ( const char * str );Convert string to doubleParses the C string str interpreting its content as a floating point number and returns its value as a double.The function翻译 2011-06-19 19:10:00 · 551 阅读 · 0 评论 -
c++ point operation
#include #include #include using namespace std;int main(int argc,char *argv[]){ //string hello = "hello"; char *p = "hello"; cout << p << endl; cout << "print string as old:" <<原创 2011-06-19 20:54:00 · 556 阅读 · 0 评论 -
带参数的main函数
#include #include using namespace std;int main(int argc,char *argv[]){ cout << "Parameter num is :" << argc << endl; cout << "the command is :" << argv[0] << endl; cout << "Parameter原创 2011-06-19 18:57:00 · 422 阅读 · 0 评论 -
c++文件操作 demo
#include #include #include using namespace std;int main(){//从文件file.txt中读出数据(包含空格信息)ifstream in("file.txt",ifstream::app); if(!in){ cout exit(1); }原创 2011-06-19 11:35:00 · 615 阅读 · 0 评论 -
Makefile遗漏分隔符错误解决
错误原因:必须在g++前使用tab来分隔,如下面的红色部分,使用tab进行了分隔、修改上面;make成功原创 2011-06-17 20:03:00 · 1388 阅读 · 0 评论 -
C++学习步骤
入门: 入门就是要初步对编程的思想有个了解,并且能编程解决一些小问题。入门一定要选好书,难度如果太低了会造成对读者的误导,以为编程就是这么回事;也不能太高深,免的打击读者的信心。既然编程的入门要求是编一些小程序解决小问题,那么就没必要直接学习C++,我觉得循环、判断、跳转、指针才是最基本的编程思想,学通了这些对以后学习C++很有帮助。 我建议应该先把C扎实地学好,不光要掌握翻译 2011-06-17 18:03:00 · 539 阅读 · 0 评论 -
引用与指针的联系
(1)引用被创建的同时必须被初始化,指针则可以在任何时候被初始化。(2)不能有NULL 引用,引用必须与合法的存储单元关联,指针则可以是NULL。(3)一旦引用被初始化,就不能改变引用的关系,指针则可以随时改变所指的对象。原创 2011-06-23 16:16:00 · 437 阅读 · 0 评论 -
C++函数的重载与覆盖
注意如果派生类的函数与基类的函数同名,但是参数不同。此时,不论有无virtual关键字,基类的函数将被隐藏(注意别与重载混淆)。注意如果派生类的函数与基类的函数同名,并且参数也相同,但是基类函数没有virtual 关键字。此时,基类的函数被隐藏(注意别与覆盖混淆)。原创 2011-06-23 16:19:00 · 439 阅读 · 0 评论 -
内存分配方式
(1) 从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量,static 变量。(2) 在栈上创建。在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限。(3) 从堆上分配,亦称动态内存分配。程序在运行的时候用malloc 或n原创 2011-06-23 16:20:00 · 420 阅读 · 0 评论 -
C++ RAII
RAII是“资源获取就是初始化”的缩语(Resource Acquisition Is Initialization),是一种利用对象生命周期来控制程序资源(如内存、文件句柄、网络连接、互斥量等等)的简单技术。 RAII 的一般做法是这样的:在对象构造时获取资源,接着控制对资源的访问使之在对象的生命周期内始终保持有效,最后在对象析构的时候释放资源。借此,我们实际上把管理一份资源的责任托原创 2011-06-25 17:24:00 · 640 阅读 · 0 评论