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

Стандарты и стили языков программирования - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ компиляция программы на с http://www.cyberforum.ru/cpp-beginners/thread223044.html
Привет всем. У меня такая проблема. Я написал программу на С именно на С а не на С++. Написал я её в notepad++ а вот скомпилировать немогу. Есть у меня Visual Studio 2005, но как скомпилировать на нём то что писал не в нем? И возможно ли вообще компилировать программы на С в Visual Studio?
C++ табуляция функции в С++ Подскажите пожалуйста с решением задачи Задача . (консольная программа). Выполнить табуляцию функции, указанной в условии, на отрезке (a<b) с шагом d. Построение таблицы произвести в текстовом файле table.txt. По окончании работы полученный файл открыть в окне программы Блокнот (программно). Параметры a, b, d ввести в диалоге с клавиатуры (обеспечить проверку корректности ввода). ... http://www.cyberforum.ru/cpp-beginners/thread223011.html
Игры на С++ C++
Вот мне стало интересно, кто-нибудь из вас делал миниигры (или даже просто игры=)). Мне не интересен исходный код( всё равно я ничего не пойму), просто хочу узнать, сможет ли ли обычный программист сделать что-нибудь эдакое. Прошу выкладывать и здесь. P.S. А настоящие игры и их движки делают на С++ или на чём-то другом?
C++ Наболевшие вопросы
Есть несколько вопросов, помогите пожалуйста найти ответ.. 1) Если мы выделяем память динамически для массива объектов класса, есть ли возможность передать входящие параметры в конструктора этих объектов? Если да, то как? (параметры разные для разных индексов объектов) 2) Если уже инициализированы несколько элементов массива(которые объекты класса), можно ли выделить еще динамически память...
C++ Задание на перечисления http://www.cyberforum.ru/cpp-beginners/thread222981.html
Напишите программу,которая сначала по первой букве должности,введенной пользователем, определяет соответствующие значение переменной, помещает это значение в переменную типа etype, а затем выводит полностью название должности, первую букву которой ввел пользователь. #include <stdio.h> enum etype {laborer, secretary,manager, accountant,executive,researcher}; int main() { char prof;...
C++ Вопрос по программированию в Xcode в компиляторе от майкрософт , например, при заведение структурной переменной , а затем при создание ее с каким либо полем в другой функции например Struct blabla { int number } int main { blabla s1. ЗДЕСЬ после точки появляется список возможных полей или функций } подробнее

Показать сообщение отдельно
ForEveR
В астрале
Эксперт С++
7970 / 4732 / 320
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
08.01.2011, 00:04     Стандарты и стили языков программирования
accept, Надо просто посмотреть на реализацию erase. Когда я сам писал вектор - я удалял элементы через

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
                iterator erase(iterator Where)
                {
                        if(Where==end())
                                return Where;
                        Alloc.destroy(&(*Where));
                        stdext::unchecked_copy(Where+1, end(), Where);
                        --Size;
                        return Where;
                }
 
                iterator erase(iterator first, iterator last)
                {
                        if(first==last)
                                return end();
                        iterator ptr=stdext::unchecked_copy(last, end(), begin());
                        last=ptr;
                        Size-=last-first;
                        return first;
                }
unchecked copy сейчас посмотреть не могу. Вечером скину его реализацию в MSVS

Добавлено через 5 часов 34 минуты
Вот erase векторовский.

C++
1
2
3
4
5
6
7
8
9
10
11
    iterator erase(const_iterator _Where)
        {   // erase element at where
        if (_Where._Mycont != this
            || _Where._Myptr < _Myfirst || _Mylast <= _Where._Myptr)
            _DEBUG_ERROR("vector erase iterator outside range");
        _STDEXT unchecked_copy(_Where._Myptr + 1, _Mylast, _Where._Myptr);
        _Destroy(_Mylast - 1, _Mylast);
        _Orphan_range(_Where._Myptr, _Mylast);
        --_Mylast;
        return (iterator(_Where._Myptr, this));
        }
C++
1
2
3
4
5
6
7
template<class _InIt,
    class _OutIt> inline
    _OutIt __CLRCALL_OR_CDECL unchecked_copy(_InIt _First, _InIt _Last, _OutIt _Dest)
    {   // copy [_First, _Last) to [_Dest, ...)
        return (_STD _Copy_opt(_CHECKED_BASE(_First), _CHECKED_BASE(_Last), _Dest,
            _STD _Iter_random(_First, _Dest), _STD _Ptr_cat(_First, _Dest), _STD _Range_checked_iterator_tag()));
    }
C++
1
2
3
4
5
6
7
8
9
10
template<class _InIt, class _OutIt, class _InOutItCat>
inline
    _OutIt __CLRCALL_OR_CDECL _Copy_opt(_InIt _First, _InIt _Last, _OutIt _Dest,
        _InOutItCat, _Nonscalar_ptr_iterator_tag, _Range_checked_iterator_tag)
    {   // copy [_First, _Last) to [_Dest, ...), arbitrary iterators
    _DEBUG_RANGE(_First, _Last);
    for (; _First != _Last; ++_Dest, ++_First)
        *_Dest = *_First;
    return (_Dest);
    }
C++
1
2
3
4
    void _Destroy(pointer _First, pointer _Last)
        {   // destroy [_First, _Last) using allocator
        _Destroy_range(_First, _Last, this->_Alval);
        }
C++
1
2
3
4
5
6
template<class _Alloc> inline
    void _Destroy_range(typename _Alloc::pointer _First,
        typename _Alloc::pointer _Last, _Alloc& _Al,
        _Scalar_ptr_iterator_tag)
    {   // destroy [_First, _Last), scalar type (do nothing)
    }
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
    void _Orphan_range(pointer _First, pointer _Last) const
        {   // orphan iterators within specified (inclusive) range
        _Lockit _Lock(_LOCK_DEBUG);
        const_iterator **_Pnext = (const_iterator **)&this->_Myfirstiter;
        while (*_Pnext != 0)
            if ((*_Pnext)->_Myptr < _First || _Last < (*_Pnext)->_Myptr)
                _Pnext = (const_iterator **)&(*_Pnext)->_Mynextiter;
            else
                {   // orphan the iterator
                (*_Pnext)->_Mycont = 0;
                *_Pnext = (const_iterator *)(*_Pnext)->_Mynextiter;
                }
        }
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru