[2018年5月17号]C++ primer 课后练习 第十四章 重载运算与类型转换

14.42

a:

int main(int argc, char *argv[]) {
    list<int > st;
    st.insert(st.end(),1201);
    st.insert(st.end(), 11);
    st.insert(st.end(), 1231);
    cout << count_if(st.begin(), st.end(), bind(greater<int>(), std::placeholders::_1, 1024)) << endl;
    for (;;);
    return 0;
}

b:

int main(int argc, char *argv[]) {
    list<string > st;
    st.insert(st.end(),"pooh");
    st.insert(st.end(), "poohx");
    st.insert(st.end(), "poohs");
    cout << *find_if(st.begin(), st.end(), bind(not_equal_to<string>(), std::placeholders::_1, "pooh")) << endl;
    for (;;);
    return 0;
}

c:

int main(int argc, char *argv[]) {
    list<int > st;
    st.insert(st.end(),5);
    st.insert(st.end(), 10);
    st.insert(st.end(), 15);
    transform(st.begin(), st.end(), st.begin(), bind(multiplies<int>(), std::placeholders::_1, 2));
    for_each(st.begin(), st.end(), [](const int & i) { cout << i << ends; });
    for (;;);
    return 0;
}

14.43

int main(int argc, char *argv[]) {
    list<int > st;
    st.insert(st.end(),5);
    st.insert(st.end(), 10);
    st.insert(st.end(), 15);
    int theNum = 3;
    auto it = find_if(st.begin(),st.end(), bind(not_equal_to<int>(), bind(modulus<int>(), _1, theNum), 0));
    if(it != st.end()){
        cout << " find not by " << theNum << " clear multiplies number " << *it << endl;
    }else{
        cout << "not find" << endl;
    }
    for (;;);
    return 0;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值