QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 5575|回复: 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$ ?1 H3 N0 p* E( e+ Y
    #ifndef _HANDLE_H
    5 U& ?1 }  S! g2 c# {! a, ~5 N#define _HANDLE_H
    0 ^) k! Z  {% e9 L# ^' Q2 r+ S) J2 n: R" v
    class Handle{( R8 |/ B% N  ~6 ~8 X/ O% U2 s; s. h
        struct StackOfInt;: g/ o7 t1 H# i. b( K$ x( Q
        StackOfInt* smile;
    . O1 X0 R; |2 v1 j- c5 _! O; b0 rpublic:0 h5 n$ M& {* W1 N6 p# o8 e# M' T7 b
        void initialize();
    4 Y& f( F" a. y: I$ Q, k    void cleanup();6 X& G6 d/ w# T; Z2 [* Q
        void push(int elem);
    6 R* n; Y5 a  I) [4 u5 _    int fetch();) s# k2 a2 D* d1 q1 K8 A: K
        int pop();1 L- @/ w9 _5 m- R
        int count();
    ; w: b9 I& W# b. D7 Z/ ]0 z8 O+ _};
    - q% Y- T# Q. z; H. g- L! \8 K
    3 L8 s5 P9 {$ C( @6 k#endif//_HANDLE_H) k2 }' D2 X% j: ~& h

    ; t& x9 I5 y7 ?4 R7 w$ M  s! Z8 U类class的函数定义
    0 r& l5 m7 M6 a0 A7 I/ K( a0 A#include<iostream>& p; I' \- Y( m" x, A& |5 c
    #include<vector>. Z  v& W. P* g0 X+ Y
    #include "handle.h"! O; B$ X7 u, v1 d% p
    using namespace std;: f8 d: R8 i' z3 V; ?7 |+ A, l
    : v6 X& ~" P1 `, [4 h( @$ G
    struct Handle::StackOfInt{
    ' Q4 c- o6 {! k1 m    vector<int> top;# e/ u; r( Q' V: B# w
    };, _5 r* d! Y4 }0 H+ I5 x
    # C, D8 ?3 N; l: O$ b
    void Handle::initialize()
    7 R$ y* c2 _0 p; P{# n' ]& i9 Y3 q; V  r
        StackOfInt* smile = new StackOfInt;: O. P6 ~+ P8 ?; A/ W) K
        smile->top.reserve(100);/ g5 C& U. H# d; M
        cout << smile->top.capacity() << endl;
    6 P; I- i0 m  y) E}1 L; P- j' X: w( D- t
    # E- o9 n! L9 s, l3 \5 }% a: s
    void Handle::cleanup(): X; o+ d% _0 R8 [2 M
    {
    - I" y( @- @! e; y! x+ R    delete smile;
    : y8 M: [! K  b& T; J/ I, ]# E; T}
    1 b( h$ @# R" ]) {' \$ }
      z( S) z3 B. L# F/ p/ Kvoid Handle::push(int elem)7 \3 m( S0 {9 W9 t
    {
    * U0 N8 X2 H2 a    cout << "before push\n";7 m* _5 G* r7 A
        smile->top.push_back(elem);; f- j) \- v' p
        cout << "after push\n";4 r6 u1 v4 U6 j: s4 i
    }
    / E+ y" G/ @7 P( o7 y5 @int Handle::fetch()
    . i2 h4 I. L$ `9 `% U! E: U+ m{
    $ P8 e- }# ^- }+ a5 |; v    return smile->top.back();
      q$ b9 ]5 W, S1 ^% \9 y% w}1 \3 Z1 C% n$ K' V; _8 V
    int Handle::pop()1 k( j; v3 ?5 a* t. Q4 I+ V" e- W# I
    {
    8 G7 T) w$ ]" \# h5 u9 C) H    int n = smile->top.back();
    1 Y, m' Q+ A; n( o: }    smile->top.pop_back();
    # s4 O) n' A' P7 O1 k7 P! c  l8 Z    return n;0 h4 k6 ]$ D) ?: m$ d* c
    }( n  X, e( {( M2 V, Z
    int Handle::count()- x  t, ]+ h& M" k6 J: |
    {3 Z; K% v* Y' d! {3 h7 E3 U
        return smile->top.size();
    2 M) k6 y6 D6 R8 I  y* R* n}9 s/ I" G* @/ G5 b

    5 X. ?% I4 J* J# i. z$ W主函数 main.cpp
    2 q1 A/ Q( J7 V$ Q( M#include<iostream>( r7 h# I8 S! P+ o/ J
    #include "handle.h"
    ( E! x: p+ a7 j  B  d2 Qusing namespace std;
    % Z- H0 F& ]: B6 P, x8 [* x) {7 x- }: I4 O+ M/ _( S
    int main()8 R; e2 S) A1 c- J
    {; n6 K& j% _& p) f% H9 _4 U" d
        Handle h;% L: U- ]% `5 G! M  l
        h.initialize();
    . ?5 L$ W. Y) m7 e5 w    for (int i = 0; i < 10; i++)5 \2 M1 r+ o7 v8 H* }% T- c
        {
    + T$ k4 O8 a2 k2 u$ C. Y( F        h.push(i);
    * B5 G% i1 F, P7 U, L/ q        cout << "last element is " << h.fetch() << endl;3 w- u. L% j3 [; }  c# @& t
        }
      F& S2 i' x1 t    for (int i = 0; i < 10; i++)
    " e5 @! @3 C% ]; B1 w1 V7 M    {
    . s/ B6 h, ?# w5 C0 q4 e0 P        h.pop();5 U) v6 z$ L+ p! r, a3 T; t9 t/ `: Q
        }
      j. \# ?5 g  S  J
    ; o7 m( b: N  Z" c! Y    return 0;
    1 S, h+ H" n/ K  `}
    1 _3 J& n2 h9 j% o. @
    % \! d5 t# [+ {6 I; T
    , a; I- A% d9 G/ [, {4 f1 X5 [! Y0 _  o' `  s# m+ y! x# F5 c
    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-14 12:16 , Processed in 0.428718 second(s), 57 queries .

    回顶部