QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 5570|回复: 1
打印 上一主题 下一主题

vector调用push_back为什么会失败?初始化了也不行

[复制链接]
字体大小: 正常 放大

16

主题

9

听众

31

积分

升级  27.37%

  • TA的每日心情
    慵懒
    2015-4-30 14:22
  • 签到天数: 1 天

    [LV.1]初来乍到

    自我介绍
    拉拉
    跳转到指定楼层
    1#
    发表于 2015-4-14 10:06 |只看该作者 |倒序浏览
    |招呼Ta 关注Ta
    头文件handle.h
    + h% j1 g6 C& d0 g% ^#ifndef _HANDLE_H; t4 F; Q; U6 d+ u
    #define _HANDLE_H$ ]+ H; o. Z1 A8 X4 r: e
    * b5 n9 Y  u$ w& ~4 w
    class Handle{
    # x8 J( e% v6 _4 j" E/ z    struct StackOfInt;2 j& T, l$ b( T$ L" D/ ?8 H4 ^
        StackOfInt* smile;  U# q' G9 d: N- X0 h
    public:
    7 H) p; @. t! e8 ?# v( b/ ?1 O" U  I    void initialize();2 a/ c" z' }7 {' p( \  X( }
        void cleanup();2 y& y% C9 B# Z. j4 N, X3 w
        void push(int elem);
    $ |3 J) H5 N+ s$ P, ~4 m1 l    int fetch();/ U: a' G( ~, N7 p* P/ _
        int pop();
    % _0 S  Z% q! T+ T. k) q    int count();. K) `& Z8 j) \$ A0 `, y
    };
    $ i% M' J2 u, j6 b  g" _2 ~/ U7 G6 w! p+ v* e
    #endif//_HANDLE_H. U  ^$ r" |$ h, j
    5 z1 d) E5 D) _2 }! w+ r& @
    类class的函数定义
    , R$ F! e1 r; ]" O8 o) m! `#include<iostream>
    1 D/ x" @3 v( s; f( o3 m#include<vector>2 G. O' y1 P% c1 `* {0 F" b
    #include "handle.h"
    & {. b' b1 ]2 J6 q) Susing namespace std;/ l% w& k: E! {- Q- t8 R
    ) O  E, l$ ~! u6 z! f
    struct Handle::StackOfInt{
    ' Q4 K6 Q5 U0 p8 N; i' V5 l    vector<int> top;6 u* \0 [1 A8 N6 n7 k
    };
    ) C4 r' R2 X% }/ w1 _* x
    - Q3 K0 W. a3 G/ A& Y) ?+ n+ kvoid Handle::initialize()
    3 n  r; X* |1 H4 g{
    2 G2 W' M3 c, M- E% w4 v9 J    StackOfInt* smile = new StackOfInt;
    7 V6 U9 V+ q+ O+ L    smile->top.reserve(100);6 G& ?" D8 v$ n, m! k
        cout << smile->top.capacity() << endl;5 i0 K* c* b$ R0 j$ X$ `7 j
    }
    ( \! G( `5 @$ A8 c2 q; K5 a0 C0 n5 b( Z
    void Handle::cleanup()
    # Y/ ?! m8 v1 Q  V9 A& Q( s{
    8 E! ?6 `: e% M& n    delete smile;1 r0 o3 [, Q' d: L5 N( V" t' k3 j
    }
    5 t+ J& G; t& I2 U, r. k; C& M
    - w; Z3 E$ f& w! |! Evoid Handle::push(int elem)( Z2 ~- K! l8 S& W" B& f% t3 H
    {: y5 o0 [& m! X- D  ?9 V
        cout << "before push\n";& L$ A$ y* u. H7 j( E( `! g
        smile->top.push_back(elem);
    & }6 j, \4 K, x$ Z    cout << "after push\n";
    % R) w3 G2 f; t! d( b/ G}
    8 @8 R+ r* r, |8 x* _: \( H3 Uint Handle::fetch(). l9 r9 W- m) v/ F2 w: Y
    {' t/ Q9 t$ ^7 D$ Z- L, t  {
        return smile->top.back();
    9 |. P- J- L6 B! V9 m0 C/ Z}
      J2 F* C8 d# F1 l  J% Y' q4 fint Handle::pop()
    * d* _0 A0 q. y( |{
    2 B( ?: D  C2 F/ e0 v" \$ w- K/ b    int n = smile->top.back();# m3 F( D8 J% Q# _" _
        smile->top.pop_back();
    5 ?7 o1 f% H) c' h    return n;
    ' N' a2 U- Y8 v% G" x  `& U}
    ) l. M: n5 B) S& f9 z; rint Handle::count()
    , \- p6 B% A( K8 y7 s3 T0 ]- Z/ X{
    . y' }( u' S- i( N; I7 y: y    return smile->top.size();
    & l, P! P0 I+ l& x  p, ~}6 b( L! }( r7 G" j% s

    % q$ y7 f" M0 O主函数 main.cpp3 T' Z: z* T) V8 ]1 ~) H, d) ]
    #include<iostream>1 J6 [3 Z( V+ T* F" [# c0 V2 g5 Z6 S
    #include "handle.h"
    - j6 X, C" S- e2 r" H: e5 gusing namespace std;
    1 {* u. C! @2 {: ^7 A( W
    * v* |+ a" [7 x( j2 E; }5 yint main()
    + S' W3 t, D) v: b" P{. `* v0 P5 p) X. R3 K9 {" k
        Handle h;5 E3 t: c* j" L: T# @; w
        h.initialize();5 H5 j; i. G) q- N( Z
        for (int i = 0; i < 10; i++)5 w, _: ~7 d! d7 C/ p: `" y
        {
    3 N8 U6 {$ R3 O) c, w        h.push(i);$ n3 I" r8 _6 s: T; o
            cout << "last element is " << h.fetch() << endl;8 G% @& r  ]/ B; B8 {
        }' e8 a% A" F3 `& u) H
        for (int i = 0; i < 10; i++)
      F& J& \* U6 p) L  t& y' U3 ^    {
    1 f1 S3 Z7 }0 @        h.pop();
      L& m8 [: T6 a. v    }3 d4 V* q) G0 Z! B+ t! ]
    4 v8 w6 J6 D3 {; D) o9 q
        return 0;
    5 k* l) v) M$ G3 M# F}
    + h& d4 E- A# y/ Z
    # K* ^& T! [) ~% d2 N% j+ B+ S& n9 n( B  C* t

    2 g4 t8 `& w6 ?9 \6 a9 D
    zan
    转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信

    342

    主题

    41

    听众

    214748万

    积分

    升级  0%

  • TA的每日心情
    擦汗
    2015-7-24 10:40
  • 签到天数: 37 天

    [LV.5]常住居民I

    社区QQ达人 邮箱绑定达人 元老勋章 发帖功臣 新人进步奖 优秀斑竹奖 金点子奖 原创写作奖 最具活力勋章 助人为乐奖 风雨历程奖

    群组MATLAB的工程数学应用

    群组SAS公益讲座

    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册地址

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

    关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

    手机版|Archiver| |繁體中文 手机客户端  

    蒙公网安备 15010502000194号

    Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

    GMT+8, 2026-6-10 05:26 , Processed in 0.449802 second(s), 56 queries .

    回顶部