C++代码 模板写法

阅读: 评论:0

C++代码 模板写法

C++代码 模板写法

集合循环简写

for (bool callRestore : { false, true }) 
{}

变参函数

#include<stdarg.h>
void test_va(int type, ...)
{va_list arg;va_start(arg, type);int iValue = 0;char* szValue = 0;if(type==1) iValue=va_arg(arg, int);if(type==2) szValue=va_arg(arg, char*);va_end(arg);
}
void test_va_format(const char* format, ...)
{va_list arg;va_start(arg, format);char buffer[256] = "";vsprintf(buffer, format, arg);va_end(arg);
}
void test_van_format(const char *format, ...)
{char buffer[256];va_list args;va_start (args, format);vsnprintf (buffer, 256, format, args);va_end (args);std::cout << buffer << std::endl;
}
test_va(1,22);
test_va(2,"22");
test_va_format("%s-%d","wo",1);
test_van_format("float:%3.1f",1.2);
/*
va_list对应char*,方面字符串格式化;
va_start通过后面参数值的地址确定变参起始地址给前面参数,变参及前面参数可以看着连续存放的内存块
va_end将参数置空
*/

错误码和错误短语

enum ReturnStatus
{STS_ERR_FAILED                = -999,STS_ERR_NOT_INITIALIZED       = -998,STS_ERR_NOT_ENOUGH_DATA       = -996,STS_ERR_NULL_PTR              = -995,STS_ERR_INIT                  = -899,STS_ERR_END_OF_STREAM         = -895,STS_ERR_ALLOC                 = -883,STS_ERR_UNSUPPORTED           = -879,STS_ERR_INVALID_PARAMS        = -876,STS_ERR_FILE_OPEN             = -875,STS_ERR_FORMAT                = -874,STS_OK                        =  0
};typedef int Status;struct CodeStringTable
{int         iCode;const char *pString;
};static const CodeStringTable StringOfBaseStatus[] = {{ STS_OK,                   "Success" },{ STS_ERR_FAILED,           "General failure" },{ STS_ERR_NOT_INITIALIZED,  "Object is not initialized" },{ STS_ERR_NOT_ENOUGH_DATA,  "Not enough input data" },{ STS_ERR_NULL_PTR,         "Unexpected NULL pointer" },{ STS_ERR_INIT,             "Failed to initialize object" },{ STS_ERR_END_OF_STREAM,    "End of stream" },{ STS_ERR_ALLOC,            "Failed to allocate memory" },{ STS_ERR_UNSUPPORTED,      "Unsupported parameters/mode" },{ STS_ERR_INVALID_PARAMS,   "Invalid parameters" },{ STS_ERR_FILE_OPEN,        "Failed to open file" },{ STS_ERR_FORMAT,           "Invalid format" },
};

 

本文发布于:2024-02-03 03:14:56,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170690129548291.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:写法   模板   代码
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23