测试字符串第一个字母的最佳方法

时间:2017-04-19 12:38:03

标签: c++ string

我是c ++的新手,我想知道测试这两种方法之间字符串的第一个字母的最佳方法,以及为什么其中一种方法优于另一种方法:

private static final String VALUE = "value";

public static Expression getValueParameter(AnnotationExpr annotationExpr){
    Expression expression = getParamater(annotationExpr, VALUE);
    if(expression == null){
        List<Expression> children = annotationExpr.getChildNodesByType(Expression.class);
        if(!children.isEmpty()){
            expression = children.get(0);
        }
    }
    return expression;
}

public static Expression getParamater(AnnotationExpr annotationExpr, String parameterName){
    List<MemberValuePair>children = annotationExpr.getChildNodesByType(MemberValuePair.class);
    for(MemberValuePair memberValuePair : children){
        if(parameterName.equals(memberValuePair.getNameAsString())){
            return memberValuePair.getValue();
        }
    }
    return null;
}

感谢您的建议!

1 个答案:

答案 0 :(得分:0)

对于较旧的c ++版本,您可以这样做:

std::string str ("stack-overflow!");
std::cout << "index0: " <<str[0] << std::endl;

从c ++ 11开始,你可以轻轻地使用 std :: string.front()

http://www.cplusplus.com/reference/string/string/front/

doc指定:

  

返回对字符串第一个字符的引用。

示例:

std::string str ("stack-overflow!");
str.front() = 'S';
std::cout << str << std::endl;