【问题标题】:How to shorten std::vector?如何缩短 std::vector?
【发布时间】:2014-02-27 15:10:06
【问题描述】:

而不是为 calloc 这样做:

TCHAR *sText = (TCHAR *) calloc(1024, sizeof(TCHAR));

我的 C++ 文件顶部有这个:

#define tcalloc(nCharacters) (TCHAR*)calloc(nCharacters,sizeof(TCHAR))

所以我可以更容易地写这个:

TCHAR *sText = tcalloc(1024);

现在,我如何为我的 std::vector 语句做速记?这是我的代码:

std::vector <TCHAR>sText(1024,0);

【问题讨论】:

    标签: vector calloc shorthand


    【解决方案1】:

    也许

    typedef std::vector<TCHAR> tcVec;
    #define init_1k_charVector tcVec(1024,0)
    int main(int, char**)
    {
        tcVec sText(1024,0);
        tcVec sText2 = init_1k_charVector;   
        ...
    }
    

    【讨论】:

    • 好的,现在我如何不输入 ',0' 并将其初始化为零?
    • 我个人不会“隐藏”这个事实。在某些时候它可能很方便,在其他时候它可能会令人困惑。我编辑答案以防万一;)
    猜你喜欢
    • 2010-09-20
    • 1970-01-01
    • 1970-01-01
    • 2016-03-31
    • 2011-12-27
    • 2017-02-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多