gpt4 book ai didi

c++ - 将 CString 与 boost 字符串算法一起使用 - 减少到一个 typedef?

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:33:52 24 4
gpt4 key购买 nike

我需要为 MFC 项目编写一些代码,但我不知道如何在使用 MFC 时获得所需的代码。

我首先使用 STL 类型和 boost 对我的函数进行原型(prototype)设计。

STL 原型(prototype)

#include <string>
#include <boost/algorithm/string/classification.hpp>
#include <boost/algorithm/string/find.hpp>

void ProtoTest()
{
std::string sText("123Hello4");
boost::iterator_range<std::string::iterator> nc_result = find_token(sText, boost::algorithm::is_alpha(), boost::algorithm ::token_compress_on);
}

Result = "你好"

我最终设法让它与 MFC 一起工作,但是我必须提供两个 typedef。我想一次性完成,但是没有太多关于使用 boost 中提供的 MFC 端口的文档。

#include "stdafx.h"
#include <boost\range\atl.hpp>

void Test()
{
typedef boost::range_iterator<CString>::type CString_it;
typedef boost::iterator_range<CString_it> CString_range;
CString strText("123Hello4");
CString_range r;
r = find_token(text, boost::algorithm::is_alpha(), boost::algorithm ::token_compress_on);
}

再次 Result = "Hello"

是否可以使用一个 typedef 来保存 find_token 的结果,而不是需要两个 typdef 来实现它。

最佳答案

你可以把它们组合起来

typedef boost::iterator_range<boost::range_iterator<CString>::type> CString_range;

但我不知道这是否是一个优势。

关于c++ - 将 CString 与 boost 字符串算法一起使用 - 减少到一个 typedef?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8297568/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com