QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 5578|回复: 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.h3 ]( c* E  Y4 O1 G. e
    #ifndef _HANDLE_H0 d2 j% v7 ~6 R/ t7 F6 S" n
    #define _HANDLE_H
    2 S, ^; u0 E8 P7 I
    0 S7 U/ ?. @' f5 Eclass Handle{
    0 g2 `9 m, x* _4 E- B2 o    struct StackOfInt;0 g2 O( G8 x2 w, f2 g5 h9 [, {
        StackOfInt* smile;/ K( x) B9 {) F( z4 F; O- a* i
    public:
    . I. p9 T" b+ E' x7 D4 q5 [, p! L    void initialize();# _6 o5 {, s/ F1 @8 H
        void cleanup();/ m' Z# ?7 G* ~2 U, Y$ ?
        void push(int elem);3 M- f2 y' i- R* u; |# s3 ~
        int fetch();
    ' Y! E& m. j: W& ]# h    int pop();
    9 D) p4 `0 `' F8 v3 |# x    int count();
    + y- h* l8 R" {, H3 X# C};
    6 a2 s; J  q/ ^$ w+ C% q* [: ~2 c( t9 i: U$ s& n
    #endif//_HANDLE_H
    7 O# _: e  [9 A- o# S
    ! L( M' ]5 k# ^9 S( N3 D0 P类class的函数定义
    6 b. C# ^! C5 E3 w1 ^8 f#include<iostream># A$ b" j) w4 c9 g' P5 |
    #include<vector>" ^/ g1 \- Z0 Q
    #include "handle.h". P4 ?3 Y" g/ \3 w; n
    using namespace std;1 }* c8 [2 i3 g2 Q) M4 T; w% B  F" c
    " T5 r+ F& e# A% l8 q# {1 y
    struct Handle::StackOfInt{- u' J3 J/ u, j
        vector<int> top;, O' I) ?: n3 U' R, F* k2 \3 x5 |
    };9 E/ i6 U5 ]7 ?
    3 u0 `! U3 x& }4 p$ W/ f) \
    void Handle::initialize()
    . c& j0 Y' }7 p" |4 ^{* ?( d7 u; r, a( L/ \
        StackOfInt* smile = new StackOfInt;
    " f# b; H( ?" E" A% T- b% b$ Y    smile->top.reserve(100);( G8 l' v) L! k6 W8 k! a
        cout << smile->top.capacity() << endl;
    8 v4 |% V; K% q5 [# R! i}
    5 G  [/ P5 ?0 U3 I
    ' z: ]0 H8 h8 w* m+ C  v6 p) Uvoid Handle::cleanup()
    * d% |- g& ^  }{$ X8 d' c9 v2 @* T& z9 {
        delete smile;, C. n5 s4 n, \) ?! ~+ H6 |" ~5 d
    }$ G+ B" ?1 Z2 d

      |7 C3 Z9 t9 N. vvoid Handle::push(int elem)
    7 Y9 u9 C: v1 j& A{) P9 ]) R% B4 s) H. H5 k
        cout << "before push\n";
    $ Z' S5 f' u* L1 x! L! a    smile->top.push_back(elem);
    " y8 V; S8 k- N. B    cout << "after push\n";
    4 H% e- `5 _2 m" Z+ {9 R6 S}8 A- a* N6 _7 R3 h6 R
    int Handle::fetch()) ?7 q; b$ ]; Y1 m
    {
    9 J1 d2 A, U/ J7 a    return smile->top.back();
    # K0 a( P2 P* l* Z, ?, L}
    ! e; q0 y1 [# v) l. d+ q2 l' Y7 Yint Handle::pop()
    5 i3 `( A8 g" g; k# Q1 ^) c{0 F$ x- w' W# z: |7 f
        int n = smile->top.back();, H" _/ S2 o1 d" H$ S( {
        smile->top.pop_back();
    ) _$ k) U7 L2 l' J0 x/ e    return n;* c( `5 S# J4 a$ @; t( ^
    }
    - ]/ N' m; T2 B- i! U9 s0 i# w: Iint Handle::count()7 p, I3 V* O" ]; H3 z  K
    {& b0 C/ g$ L5 }  e9 `
        return smile->top.size();6 T1 E5 ?) y  B  ^
    }
    1 E" ]5 g  O; [" F6 b
    : q5 E+ f8 r- M& A- k8 K主函数 main.cpp! F4 W2 {! y6 ^/ W4 y3 {+ p
    #include<iostream>+ Q1 w0 ]* s0 B* ?
    #include "handle.h"
    , w* J5 I' l' _4 O" Fusing namespace std;
    ( D7 W# K% ^2 a6 e2 U# I
    1 H: D# i* y% O2 x5 W2 l# P" aint main()' \  |& F4 d5 k
    {
    9 F- j+ g( a$ s    Handle h;
    " I3 J( X1 S1 n7 E& c/ R    h.initialize();" e4 u2 V% f0 V  m- K: S/ ^. D
        for (int i = 0; i < 10; i++)
    ; B9 u  o0 j& Z0 a3 l' g7 T: e) P    {
    # `% P8 P% g  @/ D& _        h.push(i);/ n3 x# W! v4 ]
            cout << "last element is " << h.fetch() << endl;
    4 E: A& c9 U" i4 e! T1 k, O7 T    }- g# b" b6 X) {; R. y
        for (int i = 0; i < 10; i++)
    ; h' i; s( |, \. R$ [& P+ W    {1 @: i+ X3 ?" R) I% l
            h.pop();  v! @) e7 h% j3 [
        }
    $ p5 W9 t; L' i9 P0 k
    3 C1 i2 }$ |) I8 R3 e) h- D; ]# g    return 0;
    2 f( \2 Q5 Y+ s  n+ P}  Z. W& t/ e+ x% T

    & h0 s$ @) \. B" N% O9 W% n) q/ P9 C
    - s9 p( l+ s6 d6 M8 T
    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-15 18:51 , Processed in 0.450870 second(s), 58 queries .

    回顶部