当前位置: 首页>>代码示例>>C++>>正文


C++ QString::cbegin方法代码示例

本文整理汇总了C++中QString::cbegin方法的典型用法代码示例。如果您正苦于以下问题:C++ QString::cbegin方法的具体用法?C++ QString::cbegin怎么用?C++ QString::cbegin使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在QString的用法示例。


在下文中一共展示了QString::cbegin方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1:

bool OsmAnd::Utilities::extractFirstNumberPosition(const QString& value, int& first, int& last, bool allowSigned, bool allowDot)
{
    first = -1;
    last = -1;
    int curPos = 0;
    for(auto itChr = value.cbegin(); itChr != value.cend() && (first == -1 || last == -1); ++itChr, curPos++)
    {
        auto chr = *itChr;
        if (first == -1 && chr.isDigit())
            first = curPos;
        if (last == -1 && first != -1 && !chr.isDigit() && ((allowDot && chr != '.') || !allowDot))
            last = curPos - 1;
    }
    if (first >= 1 && allowSigned && value[first - 1] == '-')
        first -= 1;
    if (first != -1 && last == -1)
        last = value.length() - 1;
    return first != -1;
}
开发者ID:kalegs,项目名称:OsmAnd-core,代码行数:19,代码来源:Utilities.cpp

示例2: constIteratorRandomAccessIteratorRequirementsTest

void StringIteratorTest::constIteratorRandomAccessIteratorRequirementsTest()
{
  const QString str = "ABCDEF";
  const StringConstIterator first = str.cbegin();
  StringConstIterator it;
  StringConstIterator::difference_type n;
  /*
   * it + n
   */
  n = 1;
  it = first + n;
  QCOMPARE(*it, wchar_t('B'));
  n = 2;
  it = n + first;
  QCOMPARE(*it, wchar_t('C'));
  /*
   * b - a
   */
  StringConstIterator a, b;
  a = first + 1;
  b = first + 3;
  n = b - a;
  QVERIFY( n == 2 );
}
开发者ID:scandyna,项目名称:multidiagtools,代码行数:24,代码来源:StringIteratorTest.cpp

示例3: constIteratorTest

void StringIteratorTest::constIteratorTest()
{
  const QString str = "ABCDEF";
  /*
   * Constructs and assignements
   */
  // Direct assignement
  StringConstIterator it(str.cbegin());
  QCOMPARE(*it, wchar_t('A'));
  // Default constructed
  StringConstIterator first, last;
  // Assignement
  first = str.cbegin();
  QCOMPARE(*first, wchar_t('A'));
  last = first;
  QCOMPARE(*last, wchar_t('A'));
  /*
   * Increment
   */
  it = str.cbegin();
  QCOMPARE(*it, wchar_t('A'));
  // Pre-increment
  ++it;
  QCOMPARE(*it, wchar_t('B'));
  // Post-increment
  QCOMPARE(*it++, wchar_t('B'));
  QCOMPARE(*it, wchar_t('C'));
  /*
   * Decrement
   */
  it = str.cbegin();
  QCOMPARE(*it, wchar_t('A'));
  ++it;
  ++it;
  QCOMPARE(*it, wchar_t('C'));
  // Pre-decrement
  --it;
  QCOMPARE(*it, wchar_t('B'));
  // Post-decrement
  QCOMPARE(*it--, wchar_t('B'));
  QCOMPARE(*it, wchar_t('A'));
  /*
   * Increment and decrement by n
   */
  it = str.cbegin();
  QCOMPARE(*it, wchar_t('A'));
  it += 2;
  QCOMPARE(*it, wchar_t('C'));
  it -= 2;
  QCOMPARE(*it, wchar_t('A'));
  first = it;
  it = first + 2;
  QCOMPARE(*it, wchar_t('C'));
  first = it - 1;
  QCOMPARE(*first, wchar_t('B'));
  /*
   * Index based access
   */
  it = str.cbegin();
  QCOMPARE(it[0], wchar_t('A'));
  QCOMPARE(it[1], wchar_t('B'));
  QCOMPARE(it[2], wchar_t('C'));
  /*
   * Comparisons
   */
  first = str.cbegin();
  it = first;
  QVERIFY(it == first);
  QVERIFY(!(it != first));
  QVERIFY(!(it < first));
  QVERIFY(it <= first);
  QVERIFY(!(it > first));
  QVERIFY(it >= first);
  // Increment it and check
  ++it;
  QVERIFY(!(it == first));
  QVERIFY(it != first);
  QVERIFY(!(it < first));
  QVERIFY(!(it <= first));
  QVERIFY(it > first);
  QVERIFY(it >= first);
}
开发者ID:scandyna,项目名称:multidiagtools,代码行数:82,代码来源:StringIteratorTest.cpp


注:本文中的QString::cbegin方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。