LINUX.ORG.RU

Сообщения JekLove

 

Ну совсем ламерский вопрос по VI... срочно нужно....

Хоть убей, забыл, как убрать символы ^M в концах строк в файле с ДОС-текстом. Ясно, что командой s/// , а какая комбинация клавиш дает '^M'?

Помогите, плииииз....

JekLove
()

Двухбайтовые последовательности в линуксовых путях

Братцы, вообще в линуксовых путях (ну, именах файлов, path-ах) какие двухбайтовые последовательности считаются одним символом? Только ли те, которые начинаются с '\', или еще какие-то? А что с именами с пробелами? А что насчет unicode в путях? Вот где бы про это все почитать?

Умираю, помогите....

JekLove
()

Порт Win32 -> Linux, функция IsDBCSLeadByte()

Собственно, интересует наличие в Линуксе аналога виндусячей функции IsDBCSLeadByte(). Нужно спортировать некий Win32-код, содержащий эту функцию, в Линукс... Сам не могу :( Помогите, кто знает, плиз.

JekLove
()

Ну неужели никто не объяснит?! auto_ptr из STL меня интересует... мессаг 15 ниже...

www

JekLove
()

Хочу итератор, хочу.... Поготе, плиииз. [C++]

Совсем запутался, да еще доков хороших найти не могу...
Короче говоря, есть класс istringstream с некой информацией,
надобно получить итератор на нее, только без привлечения сторонних
средств вроде string. Как это сделать? Поделитесь знаниями, пожалста...

 

JekLove
()

Как одним махом обновить Slackware8.0 до текущего?

У меня Slack8.0 на дисках. Существует способ обновить его до current без геморов?

JekLove
()

Товарищи модераторы!

Товарищи модераторы! Уже какой раз я наблюдаю такую неприятную вещь: вот человек недавно стал участвовать в форуме и нередко посылает мессаги не разбираясь в настройках. В частности, наибольшие неудобства доставляет выставленное по умолчанию "TeX paragraphs". То есть человек постит какой-то код на каком-то языке, и этот код благополучно превращается в кашу из идентификаторов, операторов и комментариев автора. Хорошо бы по умочанию выставить "Preformatted text", тогда все будет ОК.

JekLove
()

auto_ptr в С++

Вот такая странная проблема. Ниже я привел код класса auto_ptr
из STL. Вопрос: почему, если убрать оператор

auto_ptr& operator=(auto_ptr_ref<_Tp> __ref)

(я пометил его комментариями "// !!!!!!!!!!" ),
перестает компилироваться код вроде следующего:

auto_ptr<myclass> m;
m = new myclass; // здесь!

с руганью о ненахождении подходящего оператора присваивания??
Кто знает, объясните мне, глупому, в чем дело...


Cut here:
------------------------------------

namespace std
{

 template<class _Tp1> struct auto_ptr_ref {
   _Tp1* _M_ptr;
   auto_ptr_ref(_Tp1* __p) : _M_ptr(__p) {}
};

template <class _Tp> class auto_ptr {
private:
  _Tp* _M_ptr;

public:
  typedef _Tp element_type;

  explicit auto_ptr(_Tp* __p = 0) __STL_NOTHROW : _M_ptr(__p) {}
  auto_ptr(auto_ptr& __a) __STL_NOTHROW : _M_ptr(__a.release()) {}

  template <class _Tp1> auto_ptr(auto_ptr<_Tp1>& __a) __STL_NOTHROW
    : _M_ptr(__a.release()) {}

  auto_ptr& operator=(auto_ptr& __a) __STL_NOTHROW {
    reset(__a.release());
    return *this;
  }

  template <class _Tp1>
  auto_ptr& operator=(auto_ptr<_Tp1>& __a) __STL_NOTHROW {
    reset(__a.release());
    return *this;
  }
  
  ~auto_ptr() { delete _M_ptr; }
 
  _Tp& operator*() const __STL_NOTHROW {
    return *_M_ptr;
  }
  _Tp* operator->() const __STL_NOTHROW {
    return _M_ptr;
  }
  _Tp* get() const __STL_NOTHROW {
    return _M_ptr;
  }
  _Tp* release() __STL_NOTHROW {
    _Tp* __tmp = _M_ptr;
    _M_ptr = 0;
    return __tmp;
  }
  void reset(_Tp* __p = 0) __STL_NOTHROW {
    if (__p != _M_ptr) {
      delete _M_ptr;
      _M_ptr = __p;
    }    
  }

public:
  auto_ptr(auto_ptr_ref<_Tp> __ref) __STL_NOTHROW
    : _M_ptr(__ref._M_ptr) {}

// !!!!!!!!!!
  auto_ptr& operator=(auto_ptr_ref<_Tp> __ref) __STL_NOTHROW {
    if (__ref._M_ptr != this->get()) {
      delete _M_ptr;
      _M_ptr = __ref._M_ptr;
    }
    return *this;
  }
// !!!!!!!!!!

  template <class _Tp1> operator auto_ptr_ref<_Tp1>() __STL_NOTHROW 
    { return auto_ptr_ref<_Tp>(this->release()); }
  template <class _Tp1> operator auto_ptr<_Tp1>() __STL_NOTHROW
    { return auto_ptr<_Tp1>(this->release()); }
};

} // namespace std

JekLove
()

RSS подписка на новые темы