相关疑难解决方法(0)

C++标准库:如何为cout,cerr,cin和endl编写包装器?

我不喜欢using namespace std,但我也厌倦了键入std::在每一条战线cout,cin,cerrendl.所以,我想给他们这样简短的新名字:

// STLWrapper.h

#include <iostream>
#include <string>

extern std::ostream& Cout;
extern std::ostream& Cerr;
extern std::istream& Cin;
extern std::string&  Endl;

// STLWrapper.cpp

#include "STLWrapper.h"

std::ostream& Cout = std::cout;
std::ostream& Cerr = std::cerr;
std::istream& Cerr = std::cin;
std::string _EndlStr("\n");
std::string& Endl = _EndlStr;
Run Code Online (Sandbox Code Playgroud)

这有效.但是,上面有什么问题我错过了吗?有没有更好的方法来实现同样的目标?

c++ iostream

16
推荐指数
2
解决办法
5937
查看次数

如何将此代码转换为使用字符串

char * recursivecombo(char *str, int choices, int level)
{
    int len = strlen(str);

    level++;
    if( level == choices)
    {   
            for (int i = 0; i < len -2; i++)

            {   

                   printf("%c", str[i]) ;
            }   
    }   
    else
    {   
        for (int i = 0; i < len - 2; i++)
        {   
                printf("%c",str[i]);
                recursivecombo(str.substr(1), level);

        }   
    }   
}
Run Code Online (Sandbox Code Playgroud)

我想使用字符串而不是 char*。

c++ string char

-1
推荐指数
1
解决办法
1476
查看次数

标签 统计

c++ ×2

char ×1

iostream ×1

string ×1