QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 5706|回复: 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.h9 g# E2 F. p( T) H5 U" H
    #ifndef _HANDLE_H  m* ]5 h$ b- {$ L/ c. U$ _
    #define _HANDLE_H% V- r/ A7 H8 ]4 Z) P7 a3 D# L/ m

    2 h5 j, @8 }# [* I. x7 Mclass Handle{% g8 x* H" o8 E# M! w5 m
        struct StackOfInt;2 U- c4 ~. A" b8 f1 N
        StackOfInt* smile;+ H% [4 S9 G3 B" ~3 `
    public:
    8 M. @/ N  ]" a2 T2 j    void initialize();
    " R7 Y$ f7 r1 j8 u+ ]    void cleanup();
    ) V6 t8 f, M( L4 ?7 W* Y    void push(int elem);
    : C5 G' w6 A0 U+ p% ~; J    int fetch();# K5 f- _' i5 B7 b* |2 p  A7 Z
        int pop();& V* M6 E/ ^4 P/ L  e3 A
        int count();
    # H$ ?+ U4 P! U$ f6 H5 D};
    - g8 g9 p* H" ^: K# _6 \8 ~+ f+ O" G# Q8 N" w$ b7 H
    #endif//_HANDLE_H
    4 k. t+ u+ X# z1 }& Y
    ; l$ n8 q% e/ d6 C$ T; {类class的函数定义9 n1 E2 N1 a6 l6 \3 K3 E
    #include<iostream>
    * D. v9 f" e8 x3 H+ l#include<vector>
    4 C" D' A4 f" \$ y: `#include "handle.h"
    ) ~& J+ O' \/ _* Qusing namespace std;
    " B4 Y- _! m6 j$ U- p. q8 [1 \% \/ O9 s" E5 ]# ~. \
    struct Handle::StackOfInt{
    ( T1 U7 J% z$ k; y9 b    vector<int> top;
    5 k) `6 ~3 g6 b, ^};
    7 i3 J5 U4 Q% i0 F( K
    1 N  V5 i$ g: xvoid Handle::initialize()' i6 K+ d1 f7 N5 ?
    {( ], D9 n7 I( t, O, n' W$ u" L
        StackOfInt* smile = new StackOfInt;" ?$ h# I- Z( ]
        smile->top.reserve(100);5 m& o7 ], M% m2 e! ?+ }
        cout << smile->top.capacity() << endl;
    % q% q# |3 k5 X0 j9 h: D}2 W9 k" n  T) Z+ i; D0 m0 J
    ' k; G9 @3 |4 K
    void Handle::cleanup()/ I9 t( p! R& [9 f% ?* Y. E( s5 r
    {5 P( j/ |% B0 W  Q; }
        delete smile;
    - `3 }3 U4 c  D) ~; R}
    % a3 k: C% _: c2 C) w- J$ v: y, a$ j% [4 i+ x
    void Handle::push(int elem)
    $ x- L3 s, O$ Y1 w& D# X9 Q* Y7 `{
    6 j' |* ~  \# Z* b    cout << "before push\n";
    ; H) [  r. W5 v4 s' S    smile->top.push_back(elem);
    % |& ]6 C% M! s; A' a% c2 x/ x3 J    cout << "after push\n";  o% ^6 D4 s! q6 q" d
    }
    + E/ h. h: o* Z  K3 b/ Jint Handle::fetch()
    : m& c, d' e4 l) F0 D{
    , k" m/ N$ a( T8 f$ ^    return smile->top.back();6 W/ k- I0 {1 x; g& v% E$ @
    }: o: Y: k! H2 Z
    int Handle::pop()
    & g$ Z( n6 S2 `" C{5 F  Z% N. f: A: H, q! v
        int n = smile->top.back();
    ; B% [5 _5 N1 ]. n4 L, S    smile->top.pop_back();
    ) r4 ]$ ?2 |& W, B2 `- j" Y    return n;
    " C: o; T6 K; P& M6 O8 e% B}$ p7 p+ {  s9 v! A# I# K5 ^7 K
    int Handle::count()- N* i) \3 G  {+ U$ ]7 D( a7 N: p
    {
    6 O3 J% M. Z9 W* P  W( D3 z0 r! @0 L    return smile->top.size();
    - _' Q# i1 ~( E1 n6 W}
    7 _- f  x' ]" B* n) _/ _8 e. Z* v, O) x1 _1 B9 d( P, r* m- K1 N
    主函数 main.cpp2 W+ F- W& w- I; |
    #include<iostream>- n5 G5 D' J8 V! M
    #include "handle.h"
    ! x1 U$ G- R) u* pusing namespace std;6 M" h: p/ o$ N4 ?% v; E

    ) p& Z* E4 [& D! W( E+ q% x% Kint main(). J; h4 l1 i' J* E3 Y0 q+ M
    {
      k' R; M7 Y6 T    Handle h;
    3 R( d6 `; J) L. t3 ]# r    h.initialize();2 ?  Q& b: `% m' S% y0 N2 k
        for (int i = 0; i < 10; i++)
    ' e* B8 \& k) [# I. H    {
    % k9 X  E5 ~7 l/ k- F        h.push(i);% I5 g& D; b+ c5 z9 }
            cout << "last element is " << h.fetch() << endl;
    " P5 V% T9 \! q- P! @) |    }# j4 d" r: r* \% t& u% e
        for (int i = 0; i < 10; i++)! r9 h& F0 l7 \4 C0 j" K; k$ V
        {! A0 J- |+ q& N& i
            h.pop();
    . e' E9 U' c4 B4 L( p6 C    }% S. t. L) B" q: m. K! h

    4 a( e' x7 @5 E7 i) [    return 0;
    ! F- |' j' ~! c}
    # f7 n1 C) I9 s% i, g% W
    - l7 ?* t$ l; x/ ]" o8 N& g
    % R9 P4 B; X/ m$ p0 r( g3 h
    7 }" j7 O# T; b2 N& g/ w, r
    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-10-9 03:33 , Processed in 0.409813 second(s), 57 queries .

    回顶部