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

Десять возможностей C++11, которые должен использовать каждый C++ разработчик - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Лямбда не допускает auto http://www.cyberforum.ru/cpp/thread890370.html
Всем привет! Имеем код: #include <iostream> #include <vector> #include <algorithm> #include <numeric> int main()
C++ Вызов через указатель на функцию-член Всем экспертам привет :) Разбавим раздел, так сказать. Задался тут таким вопросом: Есть класс, в котором объявлено поле типа "указатель на функцию-член" : struct C { void (C::*m)(); ... }; http://www.cyberforum.ru/cpp/thread874860.html
C++ std::filesystem && std::asio и пр
Пытался найти хоть какие-то сроки включения всего этого в стандарт (так же ожидается lexical_cast, any, string_algo и т.д.) и вообщем везде написано разное, проскакивает инфа о 2017 годе... Как-то не слишком оптимистично, кто-то может подсказать какие-либо сведения по этому поводу (желательно с пруф линками)?
Многомерный вектор C++
Необходимо разработать шаблон, который будет реализовывать функционал n-мерного массива, то есть, во время выполнения нужно изменять колличество измерений и размерность каждого. Словом, то же самое, что vector, только n-мерный. Подскажите, есть что-то такое готовое? Если нет, как такое можно написать? Писать на статике, естественно, не подходит, и выделять всю память при изменении размера тоже...
C++ Как реализован unordered_map? http://www.cyberforum.ru/cpp/thread602581.html
Собственно, интересна именно практическая сторона вопроса, как реализуется идеальное хеширование за O(1) в среднем ясно, об этом можно почитать в том же Кормене. Понятно, что реализации в каждом компиляторе могут быть разными. Мне интересно, как это вообще можно написать. Если кто знает - расскажите, пожалуйста.
C++ Поделитесь результатами компилирования следующего кода всем привет! нужно определить, какими компиляторами поддерживаются встроенные функции __is_pod() и __is_enum(). согласно нагугленому мною, они должны поддерживаться GCC начиная с 4.4.3. (это я уже проверил), CLang начиная с 2.8, касательно Intel и MSVC я так и не понял начиная с каких версий... интересуют: 1. CLang 2. MSVC 3. Intel подробнее

Показать сообщение отдельно
ForEveR
Модератор
Эксперт С++
7958 / 4720 / 319
Регистрация: 24.06.2010
Сообщений: 10,525
Завершенные тесты: 3
13.06.2013, 15:06     Десять возможностей C++11, которые должен использовать каждый C++ разработчик
Tulosba, Да, согласен, нужно там конечно удалить this->pointer_. Протормозил, не понял, о чем ты говоришь.

Добавлено через 1 минуту
Так будет ок.
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
41
42
#include <iostream>
 
template<typename T>
class Pointer
{
public:
   Pointer() : pointer_(nullptr)
   {
   }
   Pointer(T* ptr) : pointer_(ptr)
   {
   }
   ~Pointer()
   {
      delete pointer_;
   }
   Pointer(Pointer&& rhs) : pointer_(rhs.pointer_)
   {
      rhs.pointer_ = nullptr;
   }
   Pointer& operator = (Pointer&& rhs)
   {
      delete pointer_;
      std::swap(rhs.pointer_, pointer_);
      rhs.pointer_ = nullptr;
      return *this;
   }
   explicit operator bool() { return pointer_; }
private:
   Pointer(const Pointer&) = delete;
   Pointer& operator = (const Pointer&) = delete;
 
   T* pointer_;
};
 
int main()
{
   Pointer<int> ptr(new int(1));
   std::cout << "Is valid: " << static_cast<bool>(ptr) << std::endl;
   ptr = std::move(ptr);
   std::cout << "Is valid: " << static_cast<bool>(ptr) << std::endl;
}
 
Текущее время: 21:01. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru