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

域名解析后怎么做网站网站营销网

域名解析后怎么做网站,网站营销网,施工企业的期间费用主要包括哪些,北京地区做网站推广用哪家的好文章目录 专栏导读不定参函数C风格不定参函数不定参宏函数 专栏导读 🌸作者简介:花想云 ,在读本科生一枚,C/C领域新星创作者,新星计划导师,阿里云专家博主,CSDN内容合伙人…致力于 C/C、Linux 学…

文章目录

  • 专栏导读
  • 不定参函数
  • C++风格不定参函数
  • 不定参宏函数

专栏导读

🌸作者简介:花想云 ,在读本科生一枚,C/C++领域新星创作者,新星计划导师,阿里云专家博主,CSDN内容合伙人…致力于 C/C++、Linux 学习。

🌸专栏简介:本文收录于 C++项目——基于多设计模式下的同步与异步日志系统

🌸相关专栏推荐:C语言初阶系列C语言进阶系列C++系列数据结构与算法Linux

在这里插入图片描述

不定参函数

C语言中的不定参数函数是一种特殊类型的函数,它允许你定义一个函数,可以接受不定数量的参数。这些函数通常用于处理不确定数量的输入,例如printfscanf等标准库函数,它们可以接受不同数量和类型的参数。

不定参函数的声明格式如下:

	return_type func_name (format_string, ...);
  • return_type为函数返回值类型;
  • func_name为函数名;
  • format_string是一个格式化字符串,用于指定参数的数量和类型;
  • ... 表示不定数量的参数;

在函数内部我们可以用一些宏或函数来对不定参数进行分解,常见的宏有va_startva_argva_end

    void va_start(va_list ap, last);type va_arg(va_list ap, type);void va_end(va_list ap);
  • va_list:va_list是一个类型,用于声明一个参数列表的对象,它的本质其实是void*;
  • va_start:用于初始化va_list对象,使其指向不定参数列表的第一个参数;
  • va_arg:用于获取不定参数列表中的参数;
  • va_end:用于清空可变参数列表;

示例1

#include <stdio.h>
#include <stdarg.h>void printNum(int count, ...)
{va_list ap;va_start(ap, count); // 初始化ap指针,使其指向不定参数列表的第一个参数for(int i = 0; i < count; i++){int num = va_arg(ap, int); // 从不定参数列表中抽取int类型的参数printf("%d ", num);}printf("\n");va_end(ap); // 将ap置空
}int main()
{printNum(5, 1, 2, 3, 4, 5);return 0;
}

示例2

#define _GNU_SOURCE#include <stdio.h>
#include <stdarg.h>void myprintf(const char* format, ...)
{va_list ap;va_start(ap, format);char* res;int ret = vasprintf(&res, format, ap);if(ret != -1){printf(res);free(res); // res指向动态开辟的空间,需要手动释放}va_end(ap);
}
int main()
{myprintf("%s-%d\n", "huaxiangyun", 100);return 0;
}

注意
示例中vasprintf 是一个 C 库函数,它可以通过可变参数创建一个格式化的字符串,并将其存储在动态分配的内存中。它的使用方法与 printf类似,但它不会将结果打印到标准输出流中,而是将其存储在一个指向字符数组的指针中

函数原型如下:

#include <stdarg.h>
#include <stdio.h>int vasprintf(char **str, const char *format, va_list ap);

C++风格不定参函数

在C++中,有两种主要方式来创建不定参数函数:

  • C风格的不定参数函数:这种方式与C语言中的不定参数函数类似,使用了C标准库中的va_list、va_start、va_arg和va_end宏。这种方式在C++中仍然有效,但不够类型安全,不太推荐在现代C++代码中使用。

  • C++11引入的可变参数模板:这是更现代和类型安全的方式,使用了C++的模板和新的语法特性。可变参数模板允许你定义一个接受不定数量参数的函数,并且能够在编译时进行类型检查。这种方式更灵活,并且是C++推荐的方式。

示例3

#include <iostream>// 无参特化
void xprintf()
{std::cout << std::endl;
}template <typename T, typename ...Args>
void xprintf(const T &v, Args &&...args)
{std::cout << v;if((sizeof ...(args)) > 0){xprintf(std::forward<Args>(args)...); // 递归分解参数包}else{xprintf();}
}int main()
{xprintf("huaxinagyun");xprintf("aaaa", 1000);return 0;
}

不定参宏函数

示例4

#include <stdio.h>#define LOG(format, ...) /printf("[%s : %d]\n", format, __FILE__, __LINE__, ##__VA_ARGS__)int main()
{LOG("日志消息");return 0;
}

在这里插入图片描述

http://www.ysxn.cn/news/842.html

相关文章:

  • 网站规划与设计大作业怎么做怎么样把自己的产品网上推广
  • 代运营公司网站网站优化入门免费教程
  • 长沙定制网站开发百度客服怎么转人工
  • 做软件好还是做网站好百度手机助手下载安卓版
  • 网站地图提交入口站长工具是干嘛的
  • 智能网站建设步骤海外网络专线
  • wordpress 增加路由seo和sem是什么意思啊
  • 胶州网站搭建企业百度客服人工电话24小时
  • 佛山网站建设与设计公司做营销怎样才能吸引客户
  • 可以自己做网站做宣传吗网址推广
  • 商城网站建设套餐报价公司官网怎么制作
  • 成都餐饮设计公司有哪些重庆seo小潘大神
  • 展厅设计公司首选郑州seo网站管理
  • 网站开发技术视频百度竞价推广效果怎么样
  • 适合企业网站的cms东营网站建设费用
  • 在阿里巴巴做网站产品推广思路
  • 网站设计方案模板黄页引流推广网站软件免费
  • 订购网站模板临沂色度广告有限公司
  • 做网站一次付费正规的微信推广平台
  • 佳木斯做微网站站长工具免费
  • 建设部网站招标投标文件seo综合查询怎么用
  • 网站建设前言营业推广促销方式有哪些
  • 华资源网站建设公司网站推广方法
  • 锦州网站优化东莞网站建设seo
  • 智慧团建网页电脑版登录网站百度seo详解
  • 做网站怎么注册域名西安百度关键词排名服务
  • 毕设做网站答辩会要求当场演示吗上海排名优化seo
  • 怎么做旅游网站企业网站设计毕业论文
  • 2在线做网站百度网盟
  • 做网站侵权吗it培训机构靠谱吗