QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 5541|回复: 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.h0 U0 s. E" k& |# l( z6 n0 a9 i
    #ifndef _HANDLE_H1 @, j( A- j7 W
    #define _HANDLE_H
    # a7 u$ T+ Q/ |$ Q# r7 L: v4 w
    6 m. W: s0 b( Aclass Handle{" C1 ^# c+ o# D* w. n/ |8 e
        struct StackOfInt;
    3 X8 ?. J9 q, g4 y+ }5 i! l( N" ?    StackOfInt* smile;
    6 L) t2 ^6 P& Q+ L3 b1 npublic:
    ' R5 H8 b$ [: `+ v4 w" [: t! Y4 d    void initialize();
    # r& N4 a% j$ r* q    void cleanup();1 b, b6 Y5 e/ @5 z, E5 p# u- @
        void push(int elem);
    5 E7 P  x2 G2 k% p0 V2 e# u1 b    int fetch();
    . N! `9 {/ c& p, v6 k    int pop();
    8 L6 T$ k( r! g1 {# f# H, X    int count();& r0 ]  j7 a) Y3 t  O2 o
    };: I! V$ k' U* n6 U. L

    % N" c4 ~/ H* t) @( K, \. u/ e#endif//_HANDLE_H
    5 L, j* z  B, b) t! m2 B  J
    + S  a3 f3 k% v- A类class的函数定义" }/ [- G; W9 d) D& s4 C/ n
    #include<iostream>
    - ^  c/ m: K. t& H( \#include<vector>8 R0 s) L* c' v0 s3 B/ L5 c
    #include "handle.h"
    0 ^; B% D' q+ j( S- Q0 O# U8 Jusing namespace std;- L- ]2 l8 i* G4 e% @0 D1 z- t# j  b

    / t, q! R* ^0 h' astruct Handle::StackOfInt{
      K4 m& a% u$ m5 N7 f    vector<int> top;  ?5 N+ k1 x0 B1 \% l
    };
    7 q2 S9 G' X8 ]6 M- E8 u& Y
    & G- D/ b. ~/ |3 |0 e1 Bvoid Handle::initialize()% |* _& ~* x( L! e' J: Y
    {$ @; U5 u- [; F1 Z2 f9 |/ b
        StackOfInt* smile = new StackOfInt;
    ' \$ k* }9 T) C( p5 D5 e    smile->top.reserve(100);
    : G7 A5 N) e' B+ N  C: I- D    cout << smile->top.capacity() << endl;
    ' ?7 K$ V! Y  L) u" h! i2 \; C}
    # {; }3 @# A4 \/ P. Y: e7 u! u7 M1 f! |* B0 T( s: J
    void Handle::cleanup()' _5 h' m  K8 i. E* I
    {
    - |% }! _; e0 f  r2 y: F8 E    delete smile;
    : K) u* f$ `9 P( ]}8 b, G  c6 s7 Q& o0 O
    ) Y, g. P9 k, Y- \1 ^
    void Handle::push(int elem)8 P# M" z' P" c$ o1 B
    {
    + b1 g0 z/ ?7 m/ s# s; J    cout << "before push\n";
    9 q7 h' X; Z( `" t, P8 Y+ H" n    smile->top.push_back(elem);$ }0 X' H* L6 M5 C* f  i9 A# ~
        cout << "after push\n";' s4 v& W" K& C) {1 e5 ~9 T
    }
    : a1 ~  P( N& |int Handle::fetch()# ]* x: d$ F7 M: d1 W3 m
    {8 a  e5 b4 _1 O! s- F2 e" X
        return smile->top.back();
    ( n2 _  ^6 S5 ^/ T3 h- \0 O$ G}
    ( ]+ `  t$ ?5 N4 Q. W/ q6 Qint Handle::pop()! f3 B( z2 _+ E' W/ P
    {
    - p, ^# n; n  ~) l6 T2 C    int n = smile->top.back();( u! `2 }0 V5 [% {% ]  k. \6 Q% R
        smile->top.pop_back();
    + [8 j  Z2 v, _2 ]6 o    return n;* n1 e' {7 O8 L" t- `  `
    }+ X1 g! d, Z2 K1 [/ q. X
    int Handle::count()* t. M4 x7 k* S" l
    {1 o$ a5 ?, p% E1 d: X; x2 R* Y
        return smile->top.size();0 k/ m( h/ @" ^" |$ S$ w% w
    }0 F( x$ G; c. _& D1 z5 b
    6 r9 ?5 A0 Q  @/ r; c4 E6 }9 v
    主函数 main.cpp# s7 X! h  e8 q# t3 C% ~  O
    #include<iostream>- [/ l' y& B1 J/ [4 W
    #include "handle.h"5 t" S1 x# q2 E  B8 t2 `2 C
    using namespace std;! E% _  D7 x, T1 @
    * ~- w/ ]: K; H( m! c5 y& g
    int main()! n; ~/ o3 d! ?3 T2 t  r
    {$ l/ u# f- R/ D
        Handle h;+ d; k( }" ^0 x) v8 |( C* _
        h.initialize();* m; G+ _% q: _; |
        for (int i = 0; i < 10; i++)/ B0 M8 B( T! t( j' w/ d1 I" ~" m7 R
        {
    3 ]3 M8 j$ }6 k. z: n" B3 L! R0 T        h.push(i);2 u( R, ]+ t* T/ A, n5 f
            cout << "last element is " << h.fetch() << endl;9 ^& E( d  w9 x: k! d
        }
    # D/ z/ }+ {- b- r. `& G1 E7 T% Q    for (int i = 0; i < 10; i++)& b6 F% M/ n" H6 _. ?
        {5 s! k8 [1 P7 Z( l  W" ?
            h.pop();
    9 Q- I! J; u; l4 M9 `' B& y: O    }9 G$ G5 x; r9 ?& F% R* U$ d

    9 W$ J9 X( Q! v# p' U9 j% Z    return 0;8 K: y: r7 b/ z# @& P! P5 I( `
    }
    2 O  n0 T* J& @( y& D, L# S5 ], v) w

    3 T, X$ W9 ~2 v9 p7 p  _6 F( Q' s6 h* l' E) T' m6 z4 i8 p; |5 \
    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-4-22 05:38 , Processed in 0.403880 second(s), 56 queries .

    回顶部