#include<iostream>
#include<cstring>
#include<cstdio>
#include<cstdlib>
using namespace std;
class StringStack{
static const int size = ;
const string* stack[size];
int index;
public:
StringStack();
void push(const string* s);
const string* pop(); }; StringStack::StringStack() :index(){
memset(stack, , size*sizeof(string*));
} void StringStack::push(const string* s){
if (index<size)
stack[index++] = s;
} const string* StringStack::pop(){
if (index>){
--index;
const string* rv = stack[index];
stack[index] = ;
return rv;
} return ; } string iceCream[] = { "pralines & cream", "fudege ripple", "jamocha almond fudge", "wild mountain blackberry",
"raspberry sorbet", "lemon swirl", "rocky road", "deep chocolate fudge" }; const int iCsz = sizeof(iceCream) / (sizeof(*iceCream)); int main(){ StringStack ss;
for (int i = ; i<iCsz; i++)
ss.push(&iceCream[i]);
const string* cp;
while ((cp = ss.pop()) != )
cout << *cp << endl;//报错:
system("pause");
return ; }

2 IntelliSense: 没有与这些操作数匹配的 "<<" 运算符
操作数类型为: std::ostream << const std::string d:\programmer practice\thinking in c++\08\ConstInClass\ConstInClass\constInClass.cpp 61 8 ConstInClass

const stirng* 类型的指针cp,当cout<<*cp<<endl:会提示没有与之匹配的“<<”运算符的更多相关文章

  1. 常量指针(const X*)和指针常量(X* const)

    const X* 类型的指针(指向常量的指针),此指针的地址是一个变量,是可以修改的:但其所指向的内容是常量,是不可以修改的. 例如: 1: char name[5] = "lisi&quo ...

  2. const修饰的双重指针赋值解惑

    在c程序中,我们可能经常会使用到指针之间的赋值. 传统的赋值操作: char *cp = "c"; const char *ccp; ccp = cp; printf(" ...

  3. Thinking in C++: 静态指针与指向静态类型的指针

    当将const与指针一起使用的时候,一般有两种情况,const被应用到指针指向的那个东西,或者const被应用到存储在指针中的内存地址. 第一种情况:pointer to const 注意:const ...

  4. const常量类型

    1.定义:const常量类型表示一个”常值变量“,其值是不能被修改的变量.即一旦变量被声明为const类型,编译器将禁止任何试图修改该变量的操作. 2.声明:const <声明数据类型> ...

  5. C++引用和const引用、常量指针、指针常量

    1.引用.常量引用 引用主要被用做函数的形式参数--通常将类对象传递给一个函数. 引用在内部存放的是一个对象的地址,它是该对象的别名.引用不占用内存,因为取地址引用的值和被引用变量的地址相同.但是ob ...

  6. 【VS2013编译DirectX Tutorials时遇到的错误】"const wchar_t *" 类型的实参与 "LPCSTR" 类型的形参不兼容

    本文为大便一箩筐的原创内容,转载请注明出处,谢谢:http://www.cnblogs.com/dbylk/p/3696367.html 通过查看LPCSTR的定义: typedef _Null_te ...

  7. void*类型的指针

    void*是一种特殊的指针类型,可以用来存放任意对象的地址.一个void*指针存放着一个地址,这一点和其他指针类似.不同的是,我们对它到底储存的是什么对象的地址并不了解: 比如:double a=2. ...

  8. 理解复杂的const和typedef和指针的关系

    // container.cpp : 定义控制台应用程序的入口点. //   #include "stdafx.h" #include<iostream> #inclu ...

  9. const、引用与指针

    前提 我们忽略掉了相同类型是否可以赋值的情况(我到现在的学习里都还可以相互赋值),以及类型兼容的情况.只考虑const.&.*等修饰符带来的影响 类型兼容: 强制类型转换 基类与子类间的兼容 ...

随机推荐

  1. 笔记本 F1 键盘

    笔记本 F1 键盘与传统不符. 在控制面板,键盘设置,选择ok.

  2. jsp button onclick

    <input type="button" value="MD5哈希转换" onclick="javascript:document.getEle ...

  3. SourceTree使用方法

    一 .SourceTree简介 SourceTree 是 Windows 和Mac OS X 下免费的 Git 和 Hg 客户端,拥有可视化界面,容易上手操作.同时它也是Mercurial和Subve ...

  4. bootstrap 移动自适应界面

    移动设备优先 在 Bootstrap 2 中,我们对框架中的某些关键部分增加了对移动设备友好的样式.而在 Bootstrap 3 中,我们重写了整个框架,使其一开始就是对移动设备友好的.这次不是简单的 ...

  5. as3 判断鼠标移动方向

    import flash.events.MouseEvent; var odx:Number=mouseX; var ody:Number=mouseY; stage.addEventListener ...

  6. TEXT 3 Food firms and fat-fighters

    TEXT 3 Food firms and fat-fighters 食品公司与减肥斗士 Feb 9th 2006 From The Economist Global Agenda Five lead ...

  7. 初涉定制linux系统之——rpm相关安装包的准备

    在上一篇博客http://www.cnblogs.com/dengtr/p/5543820.html#3634582 中介绍了如何定制Centos系统镜像,但其中有个问题,就是服务所依赖的安装包不在原 ...

  8. 把AVI存在资源中用TAnimate播放

    Animate1.RESName := 'About';  Animate1.Active := True;

  9. Hadoop主要架构

    主要架构图 各部分作用 * Core:核心支持,内核代码 * MapReduce:映射数据 * HDFS:文件存储 * ZooKepper:服务器节点和进程通信的协调工具 * Pig:支持用户和Map ...

  10. 回调(CallBack)

    又名钩子函数(C语言里Hook) 不知道如何实现,可以写个回调, 相当于提供个钩子,让别人来挂东西,来实现. 其实就是用多态,实现了分离 . package cn.bjsxt.oop.callback ...