QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 5592|回复: 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& L* L5 O& g, i' ^! q. E! \! J2 D; ]
    #ifndef _HANDLE_H
    1 \! N/ V, S' Z$ Q#define _HANDLE_H, [( r  n0 C7 B
    . G: F/ ^, c, _) Q$ ^, v7 q+ H9 W5 c
    class Handle{
    ; v$ O7 ?8 B5 L7 o- i2 x    struct StackOfInt;
    ; n! o7 S1 ]1 [$ p    StackOfInt* smile;
    # u( i; D( N) i4 O( \/ bpublic:
    : v+ b" J: q$ q' t: M" H    void initialize();- r! O1 }7 V, C& E' z5 y
        void cleanup();
    % Y5 y# X* w* ^3 }7 t$ m2 s    void push(int elem);+ x7 r% n- ~9 T4 t. i. h  }
        int fetch();
    3 ]- w1 k. J9 Z0 N    int pop();( D8 Q+ P0 T! h5 m  P! ~. M
        int count();; U3 |& a) K9 Y7 z7 Q* y, J# Z( M
    };
    0 W! J: J: U0 j/ D; \7 T
    ( j7 r* L% a! y#endif//_HANDLE_H
    & P8 \, G# e4 }' y$ `" v* G8 Y/ \3 b$ y, v: J& B: s7 c
    类class的函数定义$ Q" \5 x6 K0 ]) l( [* w* l
    #include<iostream>3 o% S! G& L4 l+ D8 O
    #include<vector>
    " e1 j! E  y( a  Q& i8 y- {#include "handle.h"
    - \8 N: f4 f+ \using namespace std;  b& O) j4 ~; W) M
    * v& c6 `7 r) g. T
    struct Handle::StackOfInt{
    + U4 c; c2 |2 r8 D0 h9 ?    vector<int> top;, o9 v" v- E. Q
    };
    ( P, N$ L  T+ n' q  H# C  }: `# a( m! x* z0 d# s( k: z
    void Handle::initialize()3 A1 {( S/ m0 n* ]- F
    {1 V- X  v9 K# c9 D
        StackOfInt* smile = new StackOfInt;4 C7 h  s* b1 e. ~, m5 j
        smile->top.reserve(100);+ }4 J/ y1 P3 h; B, N
        cout << smile->top.capacity() << endl;5 w+ C0 y, ?) O, l4 [( z* f
    }
    ' D5 l7 A: {4 H6 {- I1 C; ?6 d/ Y' V! u- v% I
    void Handle::cleanup()9 D/ D! E1 b6 e* J/ O" r' y
    {6 x0 T: M8 n5 z, ]7 ?6 \. v0 e
        delete smile;' ?) A+ W. W/ ^$ o' i& e! q9 B
    }
      ^9 i6 D9 `+ N# M) T
    ; s1 `) _/ q) j7 q4 ]/ Dvoid Handle::push(int elem)
    0 t7 Y; V: K4 L6 j/ b( T2 @{
    8 x- P% \+ l0 B) ^$ Y2 t+ I( H    cout << "before push\n";
    $ R8 v$ K4 }+ d# J. g2 ?  p' V) p    smile->top.push_back(elem);1 t: I2 z0 F7 Q6 f1 e8 n+ j5 f
        cout << "after push\n";
    ( D5 U* i' M7 h2 I% W}/ _* X9 [* v% l0 q5 h$ Q, s, n! t
    int Handle::fetch()
    3 _8 I) f/ X' W! k6 o1 A& {3 j0 b{' v# U8 Q* }/ k$ T* a2 z  b
        return smile->top.back();
    ( o$ J8 `  w" I3 D" T) {}' i1 m: H( o5 i/ \3 a
    int Handle::pop()+ o' y6 [8 j! m
    {
    2 h; Y* N# X$ }. o% V9 i. r    int n = smile->top.back();
    : j  a3 q) y. T9 _% v    smile->top.pop_back();, ]. [% C% D1 W  B3 d/ D+ @
        return n;
    ! |, @$ o5 U3 M$ k+ t% F+ t7 p; k}5 c) G7 W3 N; E
    int Handle::count()
    5 q2 l' ?" k# L1 r" q9 P{
    : E! ^( ^4 Y! ?' F4 g& G9 J    return smile->top.size();' D5 _3 i4 r- r
    }# A# Q0 }. i, U! l3 T% ]
    * ?0 I! g- K8 d" s' G
    主函数 main.cpp
    ' n5 j4 y! z0 J1 C#include<iostream>/ k& h- `+ [7 ]( L
    #include "handle.h"4 m/ M0 Q( Q& p, P" B! g
    using namespace std;' a2 J& v% Z. }! h6 v( _) S3 b+ H
    $ N) H* ^! f1 I# ~8 O4 ?, h
    int main()
    ( K3 D- D2 T! o- o$ a* Z; @{
    + s4 P( Q' L# J! |; m' [1 j: D5 }  s    Handle h;  `# m9 R8 N- y( I, P0 d! n
        h.initialize();
    - H! S: w$ x- S* B& L- T    for (int i = 0; i < 10; i++)! b# }: F  y" t: }' Y8 N- }8 J
        {
    # z/ E4 L7 V% t1 S; y" W+ q4 Z6 f        h.push(i);
    ; }6 `6 f$ J$ D        cout << "last element is " << h.fetch() << endl;' ?1 w% |) {, r- Z6 K) z9 f! B' `
        }
    - L. d) }5 N+ J/ Y" S    for (int i = 0; i < 10; i++)
    : w5 E" Q3 F9 [    {  k5 [, O5 K# F; D7 N
            h.pop();
    ' r* N1 Z; Y6 P2 N( n    }
    : l; T& l2 P; J4 W& ]! E! z) ^$ A( u) ?/ n; [  d; G
        return 0;& V0 `- i/ ~6 s: t# @
    }
    " i1 t( ?0 h( }$ p% |8 @) p# @

    & I) J2 T# ?6 o* U0 f4 b8 g, K0 i! @; {% i# S$ m5 j7 S
    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-7-13 20:56 , Processed in 0.513783 second(s), 57 queries .

    回顶部