delete Operator in C++

2010年9月10日 没有评论

Deallocates a block of memory.
[::] delete cast-expression
[::] delete [ ] cast-expression

Remarks
The cast-expression argument must be a pointer to a block of memory previously allocated for an object created with the new operator. The delete op[......]

继续阅读

分类: C++编程 标签: , ,

一道关于模板题的思考

2010年9月9日 2 条评论

在C++ Primer 4th Edition上面有这么一个题目:
当调用两个string对象的compare时,传递用字符串字面值初始化的两个string对象。如果编写下面的嗲吗会发生什么?
compare("hi", "world");

 于是我试着写了一下,并没有提示错误。我的compare函数如下:
template<typename T>
int compare(T a, T b)
{
if(a < b)r[......]

继续阅读

分类: C++编程 标签: , , ,

STL find_if浅析

2010年9月9日 没有评论

Returns the first iterator i in the range [first, last) such that pred(*i) is true. Returns last if no such iterator exists.
find_if用于查找区间内第一个满足指定函数的元素(函数返回值为true的时候),返回指向该元素的迭代器。如果没有找到,则返回end()迭代器。
#include <iostream>
#include <vector>[......]

继续阅读

分类: STL编程 标签: ,

STL for_each简单使用

2010年9月9日 2 条评论

for_each可以对指定区间内的元素顺序遍历,并将之作为参数传递给一个仿函数。原来STL也有一个这么个东西,第一次接触还是在C#中。SGI上面是这样解释的:
For_each applies the function object f to each element in the range [first, last); f's return value, if any, is ignored. Applications are performed in forward order, [......]

继续阅读

分类: STL编程 标签: ,

STL容器之全局函数与成员函数

2010年9月9日 没有评论

        对于容器而言,STL通常都提供了功能相同或者类似的全局函数和成员函数。全局函数一般放在algorithm之中。在这里有一条建议,就是如果效率很重要的话,要优先使用成员函数,因为成员函数是针对类进行了特别的优化的。

        对于内幕我不知道,暂时还处于STL的第0层境界——学习使用STL。

分类: STL编程 标签: , ,

STL remove算法浅析

2010年9月9日 没有评论

先来看一段英文的介绍。
      Remove removes from the range [first, last) all elements that are equal to value. That is, remove returns an iterator new_last such that the range [first, new_last)&nb[......]

继续阅读

分类: STL编程 标签: , ,

ostream_iterator was not declared

2010年9月9日 没有评论

在试着在GCC下编译一个文件时出现了这个错误,而在Visual Studio下是没有问题的。提示信息如下所示:
$ g++ -o a.out remove1.cpp
remove1.cpp: In function 'int main()':
remove1.cpp:18:33: error: 'ostream_iterator' was not declared in this scope
remove1.cpp:18:50: error: expecte[......]

继续阅读

分类: C++编程 标签: , ,

MinGw安装教程

2010年9月9日 1 条评论

简单概念扫盲
  MinGW:一个可自由使用和自由发布的Windows特定头文件和使用GNU工具集导入库的集合,允许你生成本地的Windows程序而不需要第三方C运行时库。
  MinGW,即 Minimalist GNU For Windows。它是一些头文件和端口库的集合,该集合允许人们在没有第三方动态链接库的情况下使用 GCC 产生 Windows32 程序。
安装实战
       首先,去sf下载最新版本的MinGw安装程序。[......]

继续阅读

分类: C++编程 标签: , ,

C++ STL 流迭代器

2010年9月8日 没有评论

 C++流迭代器。
#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
using namespace std;

int main()
{
vector<string> coll;
copy(istream_iterator<string>(cin), // start of source
[......]

继续阅读

分类: STL编程 标签: , ,