首页 > 其他 > 详细

一个有趣的例子

时间:2014-10-07 14:15:43      阅读:130      评论:0      收藏:0      [点我收藏+]
//这个例子让我想起了mongo如何突破32的限制
#include <iostream>

class stumble
{
public:
protected:
private:
    //对于class一样的访问权限的数据成员是放在一起的,但不同的权限不是一样的
    char pc[1];//好像protected放在private前面就不能使用下面main之中的方法,
};

int main()
{
    struct mumble
    {
        char pc[1];
    };
    char szString[32];
    std::cin >> szString;
    std::cout << strlen(szString);//strlen是不包括\0的
    //对于class就不能这样做
    struct mumble *pmumbl = (struct mumble*)malloc(sizeof(struct mumble) + strlen(szString));//在pc的后面分配了一块内存
    strcpy_s(&pmumbl->pc[0], 6, szString);//将内容复制到pc处,用_s安全,不然越界了也不知道,复制的时候会将/0附近进去的
    std::cout << pmumbl->pc;
    getchar();
    return 0;
}

 

一个有趣的例子

原文:http://www.cnblogs.com/zzyoucan/p/4009235.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!