QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 5712|回复: 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
    & G1 ~4 t2 Q- r0 u' X7 l#ifndef _HANDLE_H4 k8 B/ z" N1 n: `
    #define _HANDLE_H
    6 {2 A' ^% {3 _9 X- k! _+ B5 e; U- Y) r! J2 r! }; g: P
    class Handle{
    , v4 v9 K) _2 S    struct StackOfInt;
    5 m) i0 d: _7 ]    StackOfInt* smile;
    1 S. \7 Z$ s3 Ppublic:% _6 p/ m- m$ j
        void initialize();% J7 h- S6 s7 i9 B) d0 p
        void cleanup();/ r- B1 n& ^& v% b& N8 K0 L
        void push(int elem);- k/ c, p! ]3 k- g. X, s
        int fetch();
    6 x; {5 D- B3 r0 B- d- y, r& t. `    int pop();9 v, @) U5 l; f8 L. @# T
        int count();
    ( u4 R- G! k! r8 ~% m0 \4 A};
    * p% x) u! [/ t7 P% H  g& I
    8 W% B; w+ c/ d# K6 s) z#endif//_HANDLE_H6 m) Y8 h! R, \4 Z7 J. _9 X/ b

    " t; a5 O; t9 E- U: f6 O- D类class的函数定义
    : s, P0 S! L6 n" h$ E#include<iostream>
    ( Y" V3 K$ L; R, _3 X#include<vector>
    * w! o8 m* }2 N' t& n% b#include "handle.h"
    5 u! g' [# y- m3 \8 j( Iusing namespace std;! H) P1 ^" A0 `: N
    ! ~% Z" y: j4 l2 S
    struct Handle::StackOfInt{% d% \7 _' N) @8 c/ s) Y/ o$ S
        vector<int> top;! }( M. S2 m& r& \5 ~/ Z- k( e2 _; e, y7 f
    };
    6 I! d7 f9 ?& O, J9 b
    - b+ H. H! n& Y. b# C9 b7 f5 ?, u0 @* [void Handle::initialize()
    * {+ Q; n& f3 Q7 r) \' F{
    % c; J  b1 w8 U. f2 [3 f7 b" D( j    StackOfInt* smile = new StackOfInt;; @4 @, Z5 `1 t7 }9 ?. x4 P
        smile->top.reserve(100);6 H( d1 ~7 i; k$ X
        cout << smile->top.capacity() << endl;
    . X* z* N$ ~7 x& c) v/ E) P' w/ E# Z}
    & {& J  f) F6 Z$ W* \) I2 @
    * N$ u; b8 A5 }, v$ Rvoid Handle::cleanup()" g& \  K8 E; |, Z- b/ V
    {
    / \( S% _( H8 G    delete smile;) w# y7 h' l0 V+ s
    }: Q- u  O+ A' s; ]' f

    3 _& H9 `% q+ `void Handle::push(int elem)  k# q+ G2 }' S- x& r0 z$ Z
    {
    / ^" L# h" p' F5 `    cout << "before push\n";
    1 Q  C5 Q! |7 S5 n3 `$ C    smile->top.push_back(elem);, s9 n3 l' @/ b  V- r
        cout << "after push\n";$ W. M% x( @, p! r* D/ e5 L
    }/ }& B+ z/ z. ^0 Q# d
    int Handle::fetch()
    - Z1 `' z# J: @' \" P5 G{5 Q7 e, s. B# I0 [4 X
        return smile->top.back();
    ! Q8 R* \6 q3 {  Z4 f: Z+ E}5 o' b5 |' n/ x7 G
    int Handle::pop()
    & P- F6 m0 C. i* X" P{9 E% t3 p# U2 k: `" P
        int n = smile->top.back();
    ) i2 i+ ~( r% s; f& b5 Z8 g    smile->top.pop_back();6 |3 w" {( J, z* m
        return n;
    & D$ }; G# h9 p2 {}
    & s- m; U1 v, h- B% _5 kint Handle::count()
    - ~& n9 Y( a6 ]7 Q! H9 p{
    ' C9 G; D2 U) Z: f" \& Z) z/ p    return smile->top.size();
    7 D, X! v9 a5 A* B# I% X5 I}) ]4 p) B: a2 b

    ! ?* e# B/ q' O主函数 main.cpp7 a1 Q0 P* B4 W. a
    #include<iostream>, j- m0 P* H# d- V+ g6 g! I* N
    #include "handle.h") v& a0 w# a) Z$ W
    using namespace std;
      U6 G6 ~" y0 C! f; ~, p/ p8 T% V5 F4 F8 n3 S9 ]+ p
    int main()
    + @1 k' @" U& Z2 }/ \0 ?& s{# z# C. a& E. ?/ k
        Handle h;
    1 J! T% i) [" g1 B    h.initialize();2 t/ t( u' |- h: h$ N& f* u( A) a
        for (int i = 0; i < 10; i++)
    3 I+ V; Q1 K  c6 f, l    {
    " R* u! i2 v  X& I% c' Q1 C        h.push(i);0 T4 I9 w0 B4 `
            cout << "last element is " << h.fetch() << endl;0 B5 A5 v: d6 r# _( |: f
        }
    & {2 J* U4 ^% @* M; G6 t) ~! A    for (int i = 0; i < 10; i++)
    5 j' O6 D1 K" w7 N    {
    " P+ [3 ]9 l/ c4 ]- D& J        h.pop();
    $ U" }' [# I1 C# {0 s: N9 `    }+ D3 |, j# ]( _" k6 H
    2 O5 T7 |2 [4 a$ z' o
        return 0;
    " J- e" b9 s) w, X}
    9 ]0 {6 h+ y- Q8 `/ c  f0 \- ?) m0 y8 |; K6 Z/ Z( u& V: w
    8 p! j6 q5 K- f- x3 h
    ; |+ a' j, @+ u
    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-11 01:33 , Processed in 1.535815 second(s), 58 queries .

    回顶部