为什么C++中千万不要返回局部对象或变量的引用和指针

大家都知道一个常识:“C++中千万不要返回局部对象或变量的引用和指针”。 既然所有C++权威的书上都要求“一定不要返回局部对象或变量的引用和指针”,那为什么C++编译器不从语法上直接禁掉这种用法。如果只是建议的话,那么“返回局部对象或变量的引用和指针”是否有用武之地呢?(从理论上来讲,我认为...

2012-03-04 11:30:56

阅读数 1587

评论数 0

wxWidgets菜单上显示图标

<br /> <br />wxMenu* file_menu =newwxMenu();<br />wxMenuItem* pMenuItem =new wxMenuItem(file_menu, wxID_EXIT, wxT("退出(&X)/...

2011-03-27 09:38:00

阅读数 1066

评论数 0

windows内存管理

<br />(1)有三种方法:虚拟内存,内存映射文件,内存堆栈。   <br />  虚拟内存是将页文件加载到内存,适用于比较大的对象或结构;<br />  内存映射文件是将磁盘上文件加载到内存,适用于大文件和单机的进程间内存共享;<br />  堆...

2010-10-18 15:28:00

阅读数 378

评论数 0

尽量使用初始化而不要在构造函数里赋值

尽量使用初始化而不要在构造函数里赋值<br /> <br />看这样一个模板,它生成的类使得一个名字和一个t类型的对象的指针关联起来。<br />template<class t><br />class namedptr {<br ...

2010-10-18 10:11:00

阅读数 499

评论数 0

把类的析构函数写成虚函数的用意

Cpp代码 #include class Base { public: Base() { mPtr = new int; } ~Base() { delete mPtr; cout class Base { public: Bas...

2010-10-14 09:28:00

阅读数 458

评论数 0

常对象和常函数的关系 const

(1) 常对象用const修饰的对象叫对象常量,其格式如下:〈类名〉const 〈对象名〉 或者 const 〈类名〉〈对象名〉声明为常对象的同时必须被初始化,并从此不能改写对象的数据成员。 例:分析下列错误的地方,说明理由;#includeclass Point{ int x, y;public...

2010-10-12 19:11:00

阅读数 459

评论数 0

sprintf、strcpy 及 memcpy 函数

<br />这些函数的区别在于 实现功能 以及 操作对象 不同。<br />strcpy 函数操作的对象是 字符串,完成 从 源字符串 到 目的字符串 的 拷贝 功能。<br />sprintf 函数操作的对象 不限于字符串:虽然目的对象是字符串,但是源对象可以...

2010-09-28 14:23:00

阅读数 600

评论数 0

#pragma once与 #ifndef的区别

<br />为了避免同一个文件被include多次<br /><br />1   #ifndef方式<br />2   #pragma once方式<br /><br />在能够支持这两种方式的编译器上,二者并没有太大的区别,...

2010-09-08 17:04:00

阅读数 333

评论数 0

深入C++的new

<br />“new”是C++的一个关键字,同时也是操作符。关于new的话题非常多,因为它确实比较复杂,也非常神秘,下面我将把我了解到的与new有关的内容做一个总结。<br />new的过程<br />当我们使用关键字new在堆上动态创建一个对象时,它实际上做了...

2010-06-28 16:47:00

阅读数 345

评论数 0

程序在内存中运行的奥秘

<br />内存管理是操作系统的核心功能,无论对于开发者还是系统管理员内存管理的重要性都是不言而喻的。我会在接下来的几篇文章通过计算机的实际运行过程谈谈内存管理,当然在必要的时候我也会从底层原理去阐释这个问题。我们提到的概念是不局限于平台特性的通用概念,不过为了阐述这些概念我们选取的实...

2010-06-25 16:12:00

阅读数 621

评论数 0

Boost线程简介(转自Boost中文站)

Boost线程简介(转自Boost中文站)<br />C++ Boost Thread 编程指南0 前言1 创建线程2 互斥体3 条件变量 4 线程局部存储5 仅运行一次的例程6 Boost线程库的未来 7 参考资料:0 前言标准C++线程即将到来。CUJ预言它将衍生自Boost线程库...

2010-06-25 15:56:00

阅读数 669

评论数 0

vector类中的构造函数

<br />向量容器使用动态数组存储、管理对象。因为数组是一个随机访问数据结构,所以可以随机访问向量中的元素。在数组中间或是开始处插入一个元素是费时的,特别是在数组非常大的时候更是如此。然而在数组末端插入元素却很快。<br />实现向量容器的类名是vector(容器是类模板...

2010-06-23 10:10:00

阅读数 8878

评论数 1

cin

<br />很多初学者都认为cin函数是一个很简单的函数,其实不然!cin函数有很多需要了解的知识(比如:cin的返回值是什么,cin提供了哪些成员函数且分别是什么作用,如cin.clear(), cin.ignore(), cin.fail(), cin.good()等等),如果没有...

2010-06-11 17:19:00

阅读数 1414

评论数 1

cout格式输出的使用

<br />控制符是在头文件iomanip.h中定义的对象。 使用前必须把iomanip.h包含进来<br /> 1. I/O的书写格式<br />  I/0流是输入或输出的一系列字节,当程序需要在屏幕上显示输出时,可以使用插入操 作符“<<”向co...

2010-06-11 15:16:00

阅读数 508

评论数 0

在C++中explicit关键字

<br />在C++中explicit作用:<br />explicit关键字用来修饰类的构造函数,被修饰的构造函数的类,不能发生相应的隐式类型转换,只能以显示的方式进行类型转换。<br />explicit使用注意事项:<br />*explici...

2010-06-08 16:35:00

阅读数 283

评论数 0

sizeof(struct)的内存分配

<br />请看下面的结构:<br />   struct MyStruct   {     double dda1;   char dda;       int type;   };<br />对结构MyStruct采用sizeof会出现什么结果呢?sizeo...

2010-06-03 15:41:00

阅读数 360

评论数 0

strlen和sizeof

<br />1.sizeof返回值类型为size_t,在<stddef.h>中有定义:typedef unsigned int size_t。该类型保证能容纳实现所建立的最大对象的字节大小。 <br />2.sizeof是算符,strlen是函数。 <br...

2010-06-03 14:23:00

阅读数 493

评论数 0

wxWidgets 在windows下加载图标资源

将XX.ico拷贝到项目根目录,新建resource.rc文件,文件手动输入下列内容:myicon ICON   "XX.ico"#include 在程序顶层Frame中写出如下代码:SetIcon(wxIcon(wxT("myicon")));    如果...

2010-05-25 19:30:00

阅读数 1246

评论数 1

C++中的文件输入/输出

标题 C++中的文件输入/输出(1):你的第一个程序 Kusk(翻译) 关键字 C++ 文件 FileI/O 入门 出处 http://www.cpp-home.com/FileIO_tutorial.php  C++中的文件输入/输出(1)原作:Ilia Yordanov, loobian@cp...

2010-05-19 10:11:00

阅读数 428

评论数 0

C++ sizeof 使用规则及陷阱分析

1、什么是sizeof   首先看一下sizeof在msdn上的定义:   The sizeof keyword gives the amount of storage, in bytes, associated with a variable or a type (including aggre...

2010-05-17 09:52:00

阅读数 295

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭