今天在翻unix网络编程的时候,无意中看到了使用匿名定义结构体/类定义数组的一段代码。

于是写了测试代码如下:

运行结果如下:

整个调用过程中,都没有用st或者CObj显示创建任何参数,调用起来要简洁很多,简直比python还要简洁。

用python的代码来表示的话:

但python不支持匿名类的定义,只能用下标来访问数据,这样看来倒是C的表现更好一些呢。

记录一下,有机会在项目中用一下。

python单进程能否利用多核cpu的测试结论

在很早的时候,就听网上的文章说: python有GIL,所以在单进程内,即使使用多线程也无法利用到多核的优势,同一时刻,python的字节码只会运行在一个cpu上。 ...

阅读全文

python常用web框架性能测试(django,flask,bottle,tornado)

测了一下django、flask、bottle、tornado 框架本身最简单的性能。对django的性能完全无语了。 django、flask、bottle 均使用gunicorn+gevent启动...

阅读全文

手机应用/服务器开发的一些总结(一)

经过这么久在android客户端和服务器端的开发,感觉还是积累了不少东西想要和大家分享一下,但是好想单独拎一个点出来又不太值得,所以就汇集到一起写成系列吧...

阅读全文

6则回应给“c、cpp中使用匿名结构体、类定义数组”

  1. 瑞士菜刀说道:

    话说「匿名」结构体/类是指不写明本身名称的结构体/类吧… 写了 struct st / class CObj 就不叫匿名了.

    struct { … } sts[] = { … };
    class { … } objs[] = { … };

    [回复]

    Dante 回复:

    确实如此,我在文中的说法不是很准确,呵呵。
    之前居然被自动过滤到垃圾评论里面去了。。

    [回复]

    Dante 回复:

    我刚才又试了一下:
    struct
    {
    int a;
    int b;
    char *p;
    int c;
    }sts[]={
    {1,1,”hh”,1},
    {2,2,”ff”,2}
    };

    class
    {
    public:
    int a;
    string s;
    int b;

    }objs[]={
    {1,”x”,11},
    {2,”y”,22}
    };

    把名字去掉,这样写也是没问题的。。。。

    [回复]

  2. 依云说道:

    原来class也可以这么用啊,学习了。
    不过Python有namedtuple呀。另外, “都没有用st或者CObj显示创建任何参数”这里有错别字哦~

    [回复]

    Dante 回复:

    咦,我去研究下.哈,你看得好仔细呀,我改一下.

    [回复]

  3. jackjiang说道:

    这。。。c专家编程那本书上写了呀,这是ansC的特性呀

    [回复]

发表评论