一个关于赋值表达式作为函数参数的问题

ayoung_go 2017-09-06 10:44:16
有代码的函数定义是这样写的,
void stringtok(Container &container, std::string const &in,
const char* const delimiters = " \t\n")
我对照着仿了一个函数,Test_para(char* aa, int aaa= 2)
这样写法表示什么意思?很少看到这样写的

如下是完整代码:template <typename Container>
void stringtok(Container &container, std::string const &in,
const char* const delimiters = " \t\n")
{
const std::string::size_type len = in.length();
std::string::size_type i = 0;

while ( i < len )
{
// eat leading whitespace
i = in.find_first_not_of(delimiters, i);
if (i == std::string::npos) return; // nothing left but white space

// find the end of the token
std::string::size_type j = in.find_first_of (delimiters, i);

// push token
container.push_back ((j == std::string::npos) ? in.substr(i)
: in.substr(i, j-i));
if (j == std::string::npos) return;

// set up for next loop
i = j + 1;
}
...全文
1119 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
ayoung_go 2017-09-07
  • 打赏
  • 举报
回复
了解了,谢谢
ooolinux 2017-09-06
  • 打赏
  • 举报
回复
带默认形参值的函数,函数调用时可以省略形参列表最后的具有默认形参值的实参,相当于用默认形参值作为实参。 你用的C++是哪本教材?可以下载一本较全面的教材作为参考手册查阅。
ayoung_go 2017-09-06
  • 打赏
  • 举报
回复
类似于变量的初始化吗?可否说的详细一点,怎么省略,省略赋值号右边的值吗?
ooolinux 2017-09-06
  • 打赏
  • 举报
回复
就是函数参数的默认值,如果省略这个参数,相当于以默认值作为参数。
ccrun.com 2017-09-06
  • 打赏
  • 举报
回复
参数的默认值。调用的时候可以不写这个参数。

1,316

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 网络及通讯开发
社区管理员
  • 网络及通讯开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧