
C++
8度空间
用心感受科学和技术给我带来的快乐!!
展开
-
尽量使用new/delete操作符,而不是malloc/free来分配内存-------Effective C++学习笔记
<br />malloc和free完全可以正确的分配和释放内存,但是缺点是他们并不知道构造函数和析构函数的存在,因此在分配对象的内存时并不会执行初始化操作,在释放内存时也不会执行像C++里对应的析构函数。而new/delete操作符则更加智能,他们知道分配多少内存以及怎么初始化它们(构造函数),也知道释放多少内存以及怎么析构内存里面的对象。实例如下:<br /> <br />string* str1 = static_cast<string*>(malloc(10*sizeof(string)));<br原创 2011-05-23 00:10:00 · 547 阅读 · 0 评论 -
以二进制输出整型数
<br />以二进制输出整型数的基本原理就是使用C++的移位运算法得到每位的二进制数,由于整型数在内存中是以二进制数表示的,因此负数的最高位为1,单纯的移位操作对负数将会造成死循环,-1》1的结果还是-1,因此,可以通过增加计数来解决!程序如下:<br /> <br />#include "stdafx.h"#include <iostream>#include <string>#include <sstream>#include <climits>using namespace std原创 2011-05-08 00:16:00 · 1022 阅读 · 0 评论 -
采用递归去掉string里面的所有空格
<br />string& trim(string &str, string::size_type pos){ static const string delim = " "; //删除空格或者tab字符 pos = str.find_first_of(delim, pos); if (pos == string::npos) return str; return trim(str.erase(pos, 1));}原创 2011-05-08 00:51:00 · 679 阅读 · 0 评论 -
给大家推荐一款开源的C/C++开发环境,非常好用!!
Code::Blocks 是一个开放源码的全功能的跨平台C/C++集成开发环境. 相比于基于Delphi的Dev-C++共享 C++IDE,Code::Blocks是开放源码软件。Code::Blocks由纯粹的C++语言开发完成,它使用了蓍名的图形界面库原创 2011-07-06 13:26:18 · 1692 阅读 · 0 评论 -
关于make_public用法
// C2157.cpp// compile with: /c#pragma alloc_text( "func", func) // C2157// OKextern "C" void func();#pragma alloc_text( "func", func)转载 2012-01-05 16:57:20 · 1890 阅读 · 0 评论