Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Целесообразность написания дополнительных скобок или "с чем плюсы вкуснее?" - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Яд и мышки... http://www.cyberforum.ru/cpp/thread1681541.html
Есть 1000 колб и есть 10 мышек. В одной колбе есть яд(мышка от него умирает). Но яд действует только ночью. То есть только на утро я пойму подействовал яд на мышку или нет. Но на проверку у меня есть...
C++ Считывание и запись в COM порт Есть код на стороне Ардуины, он работает, с ним всё порядке: boolean dataReady = 0; char incomingChar; char typeMessage; String input = ""; int defaultValueC4900ControlVoltage = 1; // int... http://www.cyberforum.ru/cpp/thread1681474.html
C++ Межпроцессное взаимодействие и параллельное программирование. Литература
Доброго времени суток. Собственно просьба видна из заголовка треда. Прошу порекомендовать хорошие книги по межпроцессному взаимодействию и параллельному программированию. Как таковая интересует...
C++ Распознавание характера территории по снимкам, полученным с БЛА
Мужики выручайте, пишу диплом на тему "РАСПОЗНАВАНИЯ ХАРАКТЕРА ТЕРРИТОРИИ ПО СНИМКАМ, ПОЛУЧЕННЫХ С БЛА", вся суть диплома в написании программы которая будет по одному методу(на выбор) определять...
C++ На какую среду разработки на C++ лучше перейти после изучения Delphi? http://www.cyberforum.ru/cpp/thread1677784.html
Доброго времени! Более 5 лет программирую под Delphi, но хочется перейти на С++, потому как очень много чего интересного появляется только на С++, поэтому если хочется попробовать, например, новый...
C++ Кракозябры при выводе из файла UTF-8 Здравствуйте. Тема кодировки достаточно популярна. Правда, в этих всех темах я, все же, не нашел то, что хотел, а именно: при считывании символов (могут быть и русские, и английские, и другие... подробнее

Показать сообщение отдельно
BRcr
4008 / 2297 / 155
Регистрация: 03.02.2011
Сообщений: 5,064
Записей в блоге: 10
10.03.2016, 21:40
Даешь лисп в плюсах!

За ради развлечения можно глянуть потроха dinkumware stl:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
template<class _FwdIt1,
    class _Diff2,
    class _Ty> inline
    _FwdIt1 _Search_n(_FwdIt1 _First1, _FwdIt1 _Last1,
        _Diff2 _Count, const _Ty& _Val, random_access_iterator_tag)
    {   // find first _Count * _Val match, random-access iterators
    _DEBUG_RANGE(_First1, _Last1);
    _FwdIt1 _Mid1;
 
    if (_Count == 0)
        return (_First1);
 
    for (;; _First1 = ++_Mid1)
        {   // look for a long enough sequence
        _FwdIt1 _Oldfirst1 = _First1;
        _Diff2 _Count1 = _Count;
 
        for (;; _First1 += _Count)
            if (_First1 == _Last1)
                return (_Last1);    // end of sequence
            else if (*_First1 == _Val)
                break;  // found a match
            else if (_Last1 - _First1 < _Count)
                return (_Last1);    // not enough left for a match
 
        _Mid1 = _First1;
        if (_Oldfirst1 != _First1)
            for (++_Oldfirst1; _Oldfirst1 != _First1; --_First1, --_Count1)
                if (!(_First1[-1] == _Val))
                    break;  // found beginning of sequence
 
        for (;; )
            if (--_Count1 == 0)
                return (_First1);   // found last match
            else if (_Mid1 == _Last1 || !(*++_Mid1 == _Val))
                break;
        if (_Mid1 == _Last1)
            return (_Last1);
        }
    }
- буста:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
  BOOST_concept(AdaptableBinaryFunction,(Func)(Return)(First)(Second))
    : BinaryFunction<
          Func
        , typename Func::result_type
        , typename Func::first_argument_type
        , typename Func::second_argument_type
      >
  {
      typedef typename Func::first_argument_type first_argument_type;
      typedef typename Func::second_argument_type second_argument_type;
      typedef typename Func::result_type result_type;
 
      ~AdaptableBinaryFunction()
      {
          BOOST_CONCEPT_ASSERT((Convertible<result_type, Return>));
          BOOST_CONCEPT_ASSERT((Convertible<First, first_argument_type>));
          BOOST_CONCEPT_ASSERT((Convertible<Second, second_argument_type>));
      }
  };
///////////////////////////////////////////////////////////////////////////////
template<typename T, typename C>
inline auto_any<BOOST_DEDUCED_TYPENAME foreach_iterator<T, C>::type>
end(auto_any_t col, type2type<T, C> *, boost::mpl::false_ *) // lvalue
{
    typedef BOOST_DEDUCED_TYPENAME type2type<T, C>::type type;
    typedef BOOST_DEDUCED_TYPENAME foreach_iterator<T, C>::type iterator;
    return auto_any<BOOST_DEDUCED_TYPENAME foreach_iterator<T, C>::type>(
        iterator(boost::end(derefof(auto_any_cast<type *, boost::mpl::false_>(col)))));
}
- и VCL:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
  BSTR __fastcall WideString::Copy(BSTR src)
  {
    return (src) ? ::SysAllocStringLen(src, ::SysStringLen(src)) : 0;
  }
///////////////////////////////////////////////////////////////////////////////
  static int UTF32ToUTF16(const char32_t* src, WideChar* dst, int len)
  {
    int count = 0;
    while ((len != 0) && *src) {
      char32_t ch = *src++;
      if (ch < 0x0000FFFF) {
        count++;
        if (dst)
          *dst++ = (ch & 0x0000FFFF);
      }
      else if (ch < 0x0010FFFF) {
        count += 2;
        if (dst) {
          ch -= 0x10000;
          *dst++ = (ch >> 10)  | 0xD800;
          *dst++ = (ch & 0x3FF)| 0xDC00;
        }
      } else {
        count++;
        if (dst)
          *dst++ = 0x0000FFFD;
      }
      if (len > 0)
        len--;
    }
    return count;
  }
Приглашаю страждущих заодно поплеваться на разработчиков библиотек. Плохие разработчики, плохие, а-та-та!))
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru