C++
文章平均质量分 71
shexinwei
这个作者很懒,什么都没留下…
展开
-
Boost智能指针
智能指针能够使C++的开发简单化,主要是它能够像其它限制性语言(如C#、VB)自动管理内存的释放,而且能够做更多的事情。1、 什么是智能指针智能指针是一种像指针的C++对象,但它能够在对象不使用的时候自己销毁掉。我们知道在C++中的对象不再使用是很难定义的,因此C++中的资源管理是很复杂的。各种智能指针能够操作不同的情况。当然,智能指针能够在任务结束的时候删除对象,转载 2014-07-15 17:07:15 · 625 阅读 · 0 评论 -
模板实例做模板参数
未专用化的类 模板 不能用作 模板 变量,该变量属于 模板 参数“_Ty”,应为 real 类型今天做一个程序,在编译的时候遇到如上所述的问题。代码如下: C++语言: Codee#15880templatetypename TYPE>struct Node{ TYPE info; TYPE newValue;原创 2011-12-07 14:35:55 · 3659 阅读 · 1 评论 -
类中特殊成员变量的初始化
原文地址:http://patmusing.blog.163.com/blog/static/13583496020101814811570/ 有些成员变量的数据类型比较特别,它们的初始化方式也和普通数据类型的成员变量有所不同。这些特殊的类型的成员变量包括:a. 常量型成员变量b. 引用型成员变量c. 静态成员变量转载 2011-12-07 15:24:45 · 1697 阅读 · 0 评论 -
C++中static存储类型
static:When modifying a variable, the static keyword specifies that the variable has static duration (it is allocated when the program begins and deallocated when the program ends) and ini原创 2011-12-07 15:42:10 · 896 阅读 · 0 评论 -
指针与引用
1.pointer可以为空,但是reference 不能为空。说明一下几个问题: a. 如果你的变量可能为空,那么你应该将其设计为pointer而不是refrence。反之,如果你的变量不能取空值,那么你应该将其设计为reference。 b. reference既然不能为空,也就必须在定义的时候,它就必须被给予一个合理的值。而指针可以为空。int a =原创 2011-12-07 15:35:28 · 477 阅读 · 0 评论 -
数组名与指针
在C语言学习中,很多人容易搞不清楚指针和数组名的关系。因为经常我们操作数组a[10]的时候,我们可以使用a[1]获取到第二个值,也可以通过 *(a+1)获取到第二个值。我们又经常听说:"数组名a实际是一个指向第一个元素的指针,它保存了第一个元素的地址。" 这让很多人感觉数组名就是一个指针。我想这应该对大家是一个很大的误导,不要说数组名就是一个指针,虽然它具有了指针的某些特性原创 2011-12-07 14:31:55 · 540 阅读 · 0 评论 -
C++代码到UML图逆向解析
原文链接:http://hi.baidu.com/hcq11/blog/item/549858249a2d7420d40742ab.html这一节主要介绍用户如何使用Rose的逆向工程生成UML模型,并用来进行C++代码的结构分析。Rational Rose可以支持标准C++和Visual C++的模型到代码的转换以及逆向工程。下面将详细地说明这两种C+转载 2011-12-07 15:27:18 · 4939 阅读 · 0 评论 -
一道面试题
今天看到一道面试题目,挺有意思的。大概想了一下,给个答案。题目要求:只在if里面添加语句,结果输出Hello worldint main(){ if() { printf("Hello "); } else { printf("World !!!"); } return 0;}大致说一下整个思路:if中输出hello,e原创 2011-12-06 15:23:22 · 684 阅读 · 0 评论 -
Programming Tutorials - C, C++, OpenGL, STL
Welcome! If you're new to C++, learn C++ with our C++ tutorial, starting at C++ Made Easy, Lesson 1 (all lessons)If you want to learn C instead, check out our C tutorial C Made Easy, Lesson 1 (all原创 2011-12-06 11:21:26 · 1289 阅读 · 0 评论 -
undefined reference to `__gxx_personality_v0'
今天使用makefile文件编译测是一个项目遇到下面的提示信息:cc -o main test.o main.otest.o:(.eh_frame+0x12): undefined reference to `__gxx_personality_v0'main.o:(.eh_frame+0x12): undefined reference to `__gxx_personality_v0'c原创 2011-11-13 15:08:12 · 1412 阅读 · 0 评论 -
stdafx.h引发的错误
今天程序出现如下一个问题fatal error C1020: 意外的 #endif代码如下:************************************************#ifndef TIXML_USE_STL#include "stdafx.h"。。。(中间代码省略)#endif*********原创 2011-12-07 14:40:21 · 1100 阅读 · 0 评论 -
Vim Plugins for C/C++ developers
原文链接:http://www.fortystones.com/vim-plugins-c-cplusplus-developer/Following up on my previous post on Essential Vim Plugins for Web Developers, I have decided to tell you about the awesomeness o转载 2011-12-09 16:11:37 · 1233 阅读 · 0 评论 -
C语言“宏”你不得不知的秘密
原文链接:http://www.mikeash.com/pyblog/friday-qa-2010-12-31-c-macro-tips-and-tricks.htmlThe year is almost over, but there's time for one last Friday Q&A before 2011 comes around. For today's post, fell转载 2011-12-09 16:45:17 · 2264 阅读 · 0 评论 -
Boost智能指针——scoped_ptr
原文:http://www.cnblogs.com/TianFang/archive/2008/09/15/1291050.htmlBoost智能指针——scoped_ptrboost::scoped_ptr和std::auto_ptr非常类似,是一个简单的智能指针,它能够保证在离开作用域后对象被自动释放。下列代码演示了该指针的基本应用:#include转载 2014-07-15 17:34:33 · 724 阅读 · 0 评论 -
C++程序员进阶
多读一些优秀的书籍,对于开发者稳固编程基础、提高编程技能有很大帮助。但是,大多时候,初学者不知道应该读什么书入门,有一定基础的开发者不知道如何进阶。本文总结了一个C++优秀书籍清单,希望能够为你带来一定的帮助。这些书大多数都有中文版,并且可以很容易在网上找到。阶段 1《Essential C++》这是一本内容不多但很实用的C++入门书籍,强调快速上手与理解C翻译 2012-06-09 10:15:20 · 1800 阅读 · 0 评论 -
atof简单实现
#include #include #define BUFFSIZE 20int main(){ char buff[BUFFSIZE]; memset(buff,'\0',BUFFSIZE); scanf("%s",buff); printf("size = %d\n",strlen(buff)); float f = 0.0; float tmp = 1;原创 2012-06-08 09:40:50 · 569 阅读 · 0 评论 -
各种排序算法
名称 复杂度 说明 备注 冒泡排序Bubble SortO(N*N) 将待排序的元素看作是竖着排列的“气泡”,较小的元素比较轻,从而要往上浮 插入排序Insertion sort O(N*N) 逐一取出元素,在已经排序的元素序列中从后转载 2012-04-06 22:07:34 · 541 阅读 · 0 评论 -
全排列递归算法原理
全排列是将一组数按一定顺序进行排列,如果这组数有n个,那么全排列数为n!个。现以{1, 2, 3, 4, 5}为例说明如何编写全排列的递归算法。1、首先看最后两个数4, 5。 它们的全排列为4 5和5 4, 即以4开头的5的全排列和以5开头的4的全排列。由于一个数的全排列就是其本身,从而得到以上结果。2、再看后三个数3, 4, 5。它们的全排列为3 4 5、3 5 4、 4 3 5转载 2012-04-10 09:36:38 · 1694 阅读 · 0 评论 -
c++面试相关
一、string相关1.将string对象转化为c字符数组: data();2.将string对象转化为c字符串:c_str();二、网络相关1、TCP三次握手第一次:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;SYN:同步序列编号(Synchronize Sequence Numbers)。第二次:服务器收到s原创 2012-04-04 17:10:01 · 512 阅读 · 0 评论 -
STL概述
By far the most commonly used functionality of the STL library are the STL container classes. If you need a quick refresher on container classes, check out lesson 10.4 — Container Classes.The ST转载 2012-04-04 21:42:09 · 520 阅读 · 0 评论 -
Return types of virtual functions
Under normal circumstances, the return type of a virtual function and it’s override must match. Thus, the following will not work:classBase{public: virtualint GetValue() { return5; }}; class原创 2012-04-02 20:39:26 · 650 阅读 · 0 评论 -
The virtual functions table
To implement virtual functions, C++ uses a special form of late binding known as thevirtual table. The virtual table is a lookup table of functions used to resolve function calls in a dynamic/late b转载 2012-04-01 14:57:14 · 492 阅读 · 0 评论 -
C与C++基础面试题
理解c++语言中一些概念以及它们之间的区别(需要深刻理解):(1)局部变量全局变量静态变量 const常量寄存器变量宏定义的常量 static变量注:包括它们的内存分配区域,作用域,初始化等等(2)理解malloc与new之间的区别,以及free与delete之间区别(3)内联函数与宏定义的区别,它们各有什么优点(4)内存分配有哪几种形式?分别为何?区别是什转载 2012-04-01 14:20:05 · 1283 阅读 · 0 评论 -
《跟我一起写Makefile》文章汇总
陈皓大牛写的关于Makefile文件介绍的连载文章地址:跟我一起写Makefile(一):http://blog.csdn.net/haoel/article/details/2886跟我一起写Makefile(二):http://blog.csdn.net/haoel/article/details/2887跟我一起写Makefile(三):http://blog.csdn.转载 2011-11-13 13:44:17 · 863 阅读 · 0 评论 -
typedef struct和 struct 在C和C++中的异同
分三块来讲述:1 首先: 在C中定义一个结构体类型要用typedef: typedef struct Student { int a; }Stu;于是在声明变量的时候就可:Stu stu1;如果没有typedef就必须用struct Student stu1;来声明这里的Stu实际上就是s转载 2011-11-07 23:36:01 · 416 阅读 · 0 评论 -
What's difference between main() / void main() / int main() / int main(void) ......?
A very common question is "What's the difference between void main and int main?". This particular FAQ tries to answer that and more, cove原创 2011-09-08 21:23:47 · 593 阅读 · 0 评论 -
What's the meaning of EOF ?
The use and meaning of EOF seems to cause a lot of confusion with some new coders, hopefully this explanation will help you understand bet原创 2011-09-08 21:44:49 · 671 阅读 · 0 评论 -
How to determine the size of an object of class?
There are many factors that decide the size of an object of a class in C++. These factors are:Size of all non-static data membersOrder o原创 2011-09-08 20:20:05 · 535 阅读 · 0 评论 -
What's the difference between declaring and defining something in C and C++?(C和C++中,声明和定义的区别)
原文地址:http://www.cprogramming.com/declare_vs_define.htmlIn C and C++, there is a subtle(细微的) but important distinction between the meaning转载 2011-09-06 21:30:15 · 762 阅读 · 0 评论 -
Work with dates and times(C和C++程序设计中使用日期和时间)
原文链接:http://faq.cprogramming.com/cgi-bin/smartfaq.cgi?answer=1048383636&id=1043284392&utm_source=newletter&utm_medium=email&utm_campaign=fif转载 2011-09-06 11:46:41 · 643 阅读 · 0 评论 -
C++0x: The future of C++
原文链接http://www.cprogramming.com/c++11/what-is-c++0x.htmlWhat is C++0x?C++0x is the working name for the new standard for C++, adding m转载 2011-09-05 21:48:31 · 506 阅读 · 0 评论 -
Constructors and Destructors in C++
原文地址:http://www.cprogramming.com/tutorial/constructor_destructor_ordering.htmlConstructors and Destructors in C++By Andrei MileaConstr原创 2011-07-31 20:46:38 · 746 阅读 · 0 评论 -
Improved Type Inference in C++11: auto, decltype, and the new function declaration syntax
原文链接地址:http://www.cprogramming.com/c++11/c++11-auto-decltype-return-value-after-function.htmlNote: C++11 is the now offical name for the转载 2011-09-05 21:45:49 · 725 阅读 · 0 评论 -
C++编程对缓冲区的理解
原文链接:http://www.vckbase.com/document/viewdoc/?id=1897C++编程对缓冲区的理解韩耀旭什么是缓冲区缓冲区又称为缓存,它是内存空间的一部分。也就是说,在内存空间中预留了一定的存储空间,这些存储空间用来缓冲输入或输出的原创 2011-09-05 17:08:51 · 349 阅读 · 0 评论 -
Detail about How VPTR and Virtual table works
原文地址:http://cboard.cprogramming.com/cplusplus-programming/100179-detail-about-how-vptr-virtual-table-works.htmlAssumption: machine i转载 2011-07-31 22:08:01 · 454 阅读 · 0 评论 -
STL Iterators
The concept of an iterator is fundamental to understanding the C++ Standard Template Library (STL) because iterators provide a means for acc转载 2011-09-11 17:03:30 · 417 阅读 · 0 评论 -
The STL Vector Class
One of the basic classes implemented by the Standard Template Library is thevector class. A vector is, essentially, aresizable array; th转载 2011-09-11 15:45:56 · 380 阅读 · 0 评论 -
STL Maps -- Associative Arrays
Suppose that you're working with some data that has values associated with strings -- for instance, you might have student usernames and you原创 2011-09-11 17:09:03 · 446 阅读 · 0 评论 -
Introduction to Gcc four stages
IntroductionThis document is a practical introduction to using GCC and related utilities. It explains the different stages of compilation and covers some typical errors that may occur at each stage.转载 2011-11-12 17:03:08 · 600 阅读 · 0 评论 -
vim配置为C/C++开发环境
VIM开发环境配置默认情况下,VIM只适合用来编辑文本,而要在VIM下进行程序开发,则需要自己定制,比如语法高亮、多文件切换、代码提示以及函数定义查找等。vim /etc/vim/vimrc1. 语法高亮syntax enablesyntax转载 2011-10-04 16:16:18 · 9168 阅读 · 2 评论