#include "stdafx.h"
#include <map>
#include <string>
#include <iostream>
using namespace std; #define fn(x) int a##x; //声明一个ax变量 a常量 x变量
#define tn(x) #x //可以直接拼一个字符串 int 可以直接输出 int //可以帮你写一个类
#define cclass(cname,x,y,z) class C##cname\
{\
public:\
x m_##x;\
y m_2##y;\
char m_##z;\
}; /////////////////////////////////////////////////////////////////////////
template <class ContainersType>
void PrintContainersData(ContainersType containers)
{
ContainersType::iterator begin = containers.begin(),
end = containers.end();
for(;begin!=end;begin++)
{
cout<<"Key = "<<begin->first<<"\t"<<"Value = "<<begin->second<<endl;
}
} int _tmain(int argc, _TCHAR* argv[])
{
cout<<"First output :"<<tn(int)<<endl;
cclass(Hero,int,int,heroName); //注意:此处用到了 定义的宏
CHero h1; fn();
a3 = ;
cout<<"Second output a3 = "<<a3<<endl;
/////////////////////////////////////////////////////////////////////////
map<string,float> m;
m["Tom"] = ;
m["Jack"] = ;
m["Jack"] = ; //注意:下面的会将上面的成绩修改 cout<<"Third output : "<<endl;
map<string,float>::iterator it = m.begin();
for(; it!=m.end();it++)
{
cout<<it->first<<" "<<it->second<<endl;
} cout<<"Forth output : "<<endl;
PrintContainersData(m); //m.insert(make_pair("Jack",100)); //注意:如果有相同的 则不可插入
m.insert(map<string,float>::value_type("Jack",)); //int t = m["ww"]; //注意[]:找不到 会自动添加这个名字
cout<<"Fifth output : "<<endl;
map<string,float>::iterator it2 = m.find("ww"); //注意find():找不到 会处理
if(it2==m.end())
cout<<"not find"<<endl; return ;
}

运行结果 如下图:

#define 的一些用法 以及 迭代器的 [] 与 find()函数的区别的更多相关文章

  1. #ifndef#define#endif的用法

    在网上看到了感觉作者总结得很好,作者辛苦了! #ifndef#define#endif的用法 文件中的#ifndef 头件的中的#ifndef,这是一个很关键的东西.比如你有两个C文件,这两个C文件都 ...

  2. #ifndef#define#endif的用法(整理)

    [转] #ifndef#define#endif的用法(整理)    原作者:icwk  文件中的#ifndef 头件的中的#ifndef,这是一个很关键的东西.比如你有两个C文件,这两个C文件都in ...

  3. c/c++头文件中#ifndef/#define/#endif的用法

    想必很多人都看过“头文件中用到的 #ifndef/#define/#endif 来防止该头文件被重复引用”.但是是否能理解“被重复引用”是什么意思?头文件被重复引用了,会产生什么后果?是不是所有的头文 ...

  4. Oracle 变量 之 define variable declare 用法及区别

    Oracle 变量 之 define variable declare 用法及区别 Table of Contents 1. 扯蛋 2. define和accept 3. variable 3.1. ...

  5. STL之--插入迭代器(back_inserter,inserter,front_inserter的区别)

    除了普通迭代器,C++标准模板库还定义了几种特殊的迭代器,分别是插入迭代器.流迭代器.反向迭代器和移动迭代器,定义在<iterator>头文件中,下面主要介绍三种插入迭代器(back_in ...

  6. Python3基础(4)匿名函数、装饰器、生成器、迭代器、内置函数、json&pickle序列化、软件目录开发规范、不同目录间模块调用

    ---------------个人学习笔记--------------- ----------------本文作者吴疆-------------- ------点击此处链接至博客园原文------ 1 ...

  7. CSS 属性 :before && :after的用法,伪类和伪元素的区别

    一::before && :after的用法 :before 如同对伪元素的名称一样,:before 是用来给指定的元素的内容前面插入新的内容.举例说明: .before:before ...

  8. 【转】const的用法,特别是用在函数前面与后面的区别!

    在普通的非 const成员函数中,this的类型是一个指向类类型的 const指针.可以改变this所指向的值,但不能改变 this所保存的地址. 在 const成员函数中,this的类型是一个指向 ...

  9. const的用法,特别是用在函数前面与后面的区别!

    const的用法,特别是用在函数后面 在普通的非 const成员函数中,this的类型是一个指向类类型的 const指针.可以改变this所指向的值,但不能改变 this所保存的地址. 在 const ...

随机推荐

  1. Spring MVC框架

    这个Spring Web MVC 框架提供了模型视图控制器的架构,这种结构能够被用来开发灵活的和松耦合的Web应用程序. 这种MVC模式能够将应用程序分离成不同的层面,(输入逻辑,业务逻辑,UI逻辑) ...

  2. artDialog 文档

    artDialog —— 经典.优雅的网页对话框控件. 支持普通与 12 方向气泡状对话框 完善的焦点处理,自动焦点附加与回退 支持 ARIA 标准 面向未来:基于 HTML5 Dialog 的 AP ...

  3. Cocos2d-X3.0 刨根问底(三)----- Director类源码分析

    上一章我们完整的跟了一遍HelloWorld的源码,了解了Cocos2d-x的启动流程.其中Director这个类贯穿了整个Application程序,这章随小鱼一起把这个类分析透彻. 小鱼的阅读源码 ...

  4. BZOJ-1625 宝石手镯 01背包(傻逼题)

    傻逼题,懒得打,复制蛋蛋的.. 1625: [Usaco2007 Dec]宝石手镯 Time Limit: 5 Sec Memory Limit: 64 MB Submit: 1076 Solved: ...

  5. [NOIP2009] 普及组

    多项式输出 模拟 /*by SilverN*/ #include<algorithm> #include<iostream> #include<cstring> # ...

  6. Alpha阶段个人总结

    一. 工作总结 第一次接触通信和服务端框架,在前期准备阶段学习了很多不同的技术,也相应花费了很多时间去尝试.刚开始时还不知道框架这种东西,准备自己写,于是学习并尝试了一些简单的HTTP通信,比较麻烦, ...

  7. HackerRank Extra long factorials

    传送门 今天在HackerRank上翻到一道高精度题,于是乎就写了个高精度的模板,说是模板其实就只有乘法而已. Extra long factorials Authored by vatsalchan ...

  8. AndroidManifest File Features

    http://www.android-doc.com/guide/topics/manifest/manifest-intro.html The following sections describe ...

  9. wifi共享小工具

    MainForm.cs: using System;using System.Collections.Generic;using System.ComponentModel;using System. ...

  10. AppSettingManager

    public class AppSettingManager { public static bool Update(string key, string value) { try { var con ...