当前位置: 首页 > news >正文

手机网站商城建设答辩问题我想注册公司怎么注册

手机网站商城建设答辩问题,我想注册公司怎么注册,河东网站建设,wordpress怎样安装主题C/C 中#define 的妙用#xff0c;让代码更美一些 flyfish 1 数值类型输出易读的字符串形式 例如使用enum定义一些错误值#xff0c;想要将数值类型的错误#xff0c;输出易读的字符串形式 重要的一句代码 #define MAKE_PAIR(val) std::make_pair(val, #val)可以看到 #va…C/C 中#define 的妙用让代码更美一些 flyfish 1 数值类型输出易读的字符串形式 例如使用enum定义一些错误值想要将数值类型的错误输出易读的字符串形式 重要的一句代码 #define MAKE_PAIR(val) std::make_pair(val, #val)可以看到 #val宏定义中的传入参数名val 转换成字符串就像用一对双引号包含起来的val 完整实现代码如下 #include iostream #include cinttypes #include string #include typeinfo #include utility #include vector using namespace std;typedef enum {ACAMERA_OK 0,ACAMERA_ERROR_BASE -10000,ACAMERA_ERROR_UNKNOWN ACAMERA_ERROR_BASE,ACAMERA_ERROR_INVALID_PARAMETER ACAMERA_ERROR_BASE - 1,ACAMERA_ERROR_CAMERA_DISCONNECTED ACAMERA_ERROR_BASE - 2,} camera_status_t;#define UKNOWN_TAG UNKNOW_TAG #define MAKE_PAIR(val) std::make_pair(val, #val) template typename T const char* GetPairStr(T key, std::vectorstd::pairT, const char* store) {typedef typename std::vectorstd::pairT, const char*::iterator iterator;for (iterator it store.begin(); it ! store.end(); it) {if (it-first key) {return it-second;}}//LOGW((%#08x) : UNKNOWN_TAG for %s, key, typeid(store[0].first).name());return UKNOWN_TAG; } using ERROR_PAIR std::paircamera_status_t, const char*; static std::vectorERROR_PAIR errorInfo{MAKE_PAIR(ACAMERA_OK),MAKE_PAIR(ACAMERA_ERROR_UNKNOWN),MAKE_PAIR(ACAMERA_ERROR_INVALID_PARAMETER),MAKE_PAIR(ACAMERA_ERROR_CAMERA_DISCONNECTED), }; const char* GetErrorStr(camera_status_t err) {return GetPairStrcamera_status_t(err, errorInfo); }int main() {std::coutGetErrorStr(ACAMERA_ERROR_INVALID_PARAMETER)std::endl;return 0; }输出 ACAMERA_ERROR_INVALID_PARAMETER2 易记的简化调用 例如有两个函数 camera_status_t ACameraManager_A() {std::coutAstd::endl;return ACAMERA_OK; }camera_status_t ACameraManager_B() {std::coutBstd::endl;return ACAMERA_OK; }这两个函数很长函数名前缀相同 想要易记的简化调用 例如 CALL_MGR(A()); //实际调用ACameraManager_A() CALL_MGR(B()); //实际调用ACameraManager_B()#define CALL_CAMERA(func) \{ \camera_status_t status func; \std::coutGetErrorStr(status)std::endl; \} #define CALL_MGR(func) CALL_CAMERA(ACameraManager_##func)#define 后面的 \ 表示下一行继续写宏定义。 两个#号 ## 表示连接操作符。 CALL_MGR(A());通过 ACameraManager_##func 变成了ACameraManager_A 实现完整代码如下 #include iostream #include cinttypes #include string #include typeinfo #include utility #include vector #include assert.h using namespace std;typedef enum {ACAMERA_OK 0,ACAMERA_ERROR_BASE -10000,ACAMERA_ERROR_UNKNOWN ACAMERA_ERROR_BASE,ACAMERA_ERROR_INVALID_PARAMETER ACAMERA_ERROR_BASE - 1,ACAMERA_ERROR_CAMERA_DISCONNECTED ACAMERA_ERROR_BASE - 2,} camera_status_t;#define UKNOWN_TAG UNKNOW_TAG #define MAKE_PAIR(val) std::make_pair(val, #val) template typename T const char* GetPairStr(T key, std::vectorstd::pairT, const char* store) {typedef typename std::vectorstd::pairT, const char*::iterator iterator;for (iterator it store.begin(); it ! store.end(); it) {if (it-first key) {return it-second;}}//LOGW((%#08x) : UNKNOWN_TAG for %s, key, typeid(store[0].first).name());return UKNOWN_TAG; } using ERROR_PAIR std::paircamera_status_t, const char*; static std::vectorERROR_PAIR errorInfo{MAKE_PAIR(ACAMERA_OK),MAKE_PAIR(ACAMERA_ERROR_UNKNOWN),MAKE_PAIR(ACAMERA_ERROR_INVALID_PARAMETER),MAKE_PAIR(ACAMERA_ERROR_CAMERA_DISCONNECTED), }; const char* GetErrorStr(camera_status_t err) {return GetPairStrcamera_status_t(err, errorInfo); }camera_status_t ACameraManager_A() {std::coutAstd::endl;return ACAMERA_OK; } camera_status_t ACameraManager_B() {std::coutBstd::endl;return ACAMERA_OK; } #define CALL_CAMERA(func) \{ \camera_status_t status func; \std::coutGetErrorStr(status)std::endl; \} #define CALL_MGR(func) CALL_CAMERA(ACameraManager_##func) int main() {CALL_MGR(A());CALL_MGR(B());return 0; }输出 A ACAMERA_OK B ACAMERA_OK以上代码应用在google的ndk camera代码中
http://www.w-s-a.com/news/525984/

相关文章:

  • 最优惠的郑州网站建设淘宝网商城
  • 做封面网站企业网站优化服务商
  • 电子商务网站设计是什么蚌埠铁路建设监理公司网站
  • .name后缀的网站做房产网站多少钱
  • 手机上传网站源码网站app封装怎么做
  • 做的网站放在阿里云网站建设投标书范本
  • 做文化传播公司网站wordpress仿简书
  • 什么网站有题目做西宁网站制作哪里好
  • 网站上添加图片的原则优易主机 wordpress
  • 用php做的网站源代码那里有做像美团的网站的
  • 网站建设百科有什么做兼职的网站
  • 创造网站电商网站建设方案道客巴巴
  • 南通设计网站建设wordpress时光轴
  • 郑州做网站企起网站建设 风险
  • 北京市保障性住房建设投资中心网站6大连广告设计与制作公司
  • 建站之星网站模板国内f型网页布局的网站
  • 怎么做网站关键词优化外贸网站 开源
  • 广东公司响应式网站建设设计seo系统是什么
  • 清丰网站建设费用网站建设的前途
  • 网站上那些兼职网页怎么做的北京网页
  • 桂林建站平台哪家好品牌设计公司宣传文案
  • 平面设计和建设网站的区别公司官网静态
  • h5网站建设+案例住房住房和城乡建设部网站
  • 建设股公司网站东莞建设网网上平台
  • 湖州吴兴建设局网站加强网站建设的
  • 茌平做网站公司专业商城网站建设报价
  • 网站结构图怎么画wordpress注册不发送件
  • 个人备案网站可以做论坛吗电商推广方式有哪些
  • 网站建设 自适应国内最近的新闻
  • 校园网站开发背景吴江网站建设公司