All streams
Search
Write a publication
Pull to refresh
102
0.2

User

Send message
Можно разные домены развесить по разным портам (всё равно вручную никто не набирает https-адрес)
На всякий случай, отметая попытки логически обьяснить такую несуразность: ip-шник для внутренней ФОС давали «белый», просто он был изолирован от внешней сети фаирволом
Я не говорю, что есть какая-то проблема.
Мне, как и другим здесь читателям, интересно узнать, как устроена раздача IPv6 у реального провайдера в реальной ситуации.

Теоретизировать и цитировать документацию можно сколько угодно, но в реальности может быть совсем по-другому. Например, у покойного Волгателекома до запуска безлимитных тарифов было два PPP соединения (для внутреннего ФОСа и внешки), и абоненты сами мучались с маршрутизацией и оборудованием, не поддерживающем поднятие двух сессий.
Баг в том, что переходы между подгрузками сшиты неидеально. Можно выпрыгнуть из тележки на уровне Intro.
Здесь демо:
www.youtube.com/watch?v=YOhSRBtatCc
Как это выглядит технически? 2 PPP-соединения?
Да, нужно переписать класс. Если есть сценарии, когда ссылка не инициализирована, лучше использовать указатель.
Практически, инициализация неиспользуемых ссылок dereferenced NULL-ом никогда не вызывала проблем.
В первой халфе можно было проскочить через окно тележки в начале игры. Правда, идти совcем некуда — или тупик на рельсах, или умираешь при падении вниз. В BlackMesa заюзать баг не получилось.
угловые скобки пропали в строке
KnownVectorWrapper < T, QList < T > > qv;
* не указал, что теперь нужен конструктор без параметров
template <typename T, typename C>
class KnownVectorWrapper : public IVectorWrapper<T>
{
public:
    KnownVectorWrapper() : container(*(C*)NULL) { }
    KnownVectorWrapper(C& _container) : container(_container) { }
    // ...
Можно избавиться от new/delete, явно перечислив все возможные контейнеры (их не должно быть много, поэтому не сложно в одном классе это сделать. Также добавляется небольшой оверхед по памяти: sizeof(size_t) на каждый контейнер).

template <typename T>
class VectorWrapper
{
public:
    VectorWrapper(vector<T>& _container) : sv(_container), container(&sv) { }
    VectorWrapper(QList<T>& _container) : qv(_container), container(&qv) { }

    T& operator[](size_t i) { return (*container)[i]; }
    size_t size() { return container->size(); }

private:
    KnownVectorWrapper<T,vector<T>> sv;
    KnownVectorWrapper<T,QList<T>> qv;
    IVectorWrapper<T>* container;
};
true-cpp way это сделать функцию fn() шаблонной.
Но поскольку не хочется, не обойтись без вызова функции по указателю (будь это virtual или lambda).
Вот, собственно получилось полностью сохранить семантику VectorWrapper:

Скрытый текст
#include <vector>
using namespace std;

template <typename T>
class IVectorWrapper
{
public:
    virtual T& operator[](size_t i) = 0;
    virtual size_t size() = 0;
    virtual ~IVectorWrapper() { }
};

template <typename T, typename C>
class KnownVectorWrapper : public IVectorWrapper<T>
{
public:
    KnownVectorWrapper(C& _container) : container(_container) { }

    T& operator[](size_t i)
    {
        return container[i];
    }

    size_t size()
    {
        return container.size();
    }

private:
    C& container;
};

template <typename T>
class VectorWrapper : IVectorWrapper<T>
{
public:
    template <typename C>
    VectorWrapper(C& _container) : container(new KnownVectorWrapper<T,C>(_container)) { }
    ~VectorWrapper() { delete container; }

    T& operator[](size_t i)
    {
        return (*container)[i];
    }

    size_t size()
    {
        return container->size();
    }

private:
    IVectorWrapper<T>* container;
};


void fn(VectorWrapper<int> x)
{
    int a = 0;
    for (size_t i = 0; i < x.size(); ++i)
    {
        printf("%d ", x[i]);
    }
}

void main()
{
        vector<int> a;
        a.push_back(7);
        a.push_back(15);
        fn(a);
}
Приведённый класс VectorWrapper каким-нибудь существующим cpp-компилером компилируется?
Везунчик. Я проходил на 133 MHz, 16 Mb. Эх, как она свопилась посреди уровней…
Поисковые боты, зайдя на страницу поиска, получат её.
Блокируется (а можно и заменять заглушкой с пустым списком результатов) дальнейший переход — дорогостоящая операция поиска, если со страницы с формой поискового запроса не подгружен файл.

Маловероятно, что поисковик будет пользоваться формой поиска на сайте
Реклама по телевизору (в том числе и перед Дом-2)
В принципе, можно и обычный триггер объявить квантовым устройством. Ведь процессы в полупроводниках без квантовой механики не описываются.
Табу на уничтожение оригинала тормозит прогресс.
Ведь люди с таким моральным ограничением смертны: смерть носителя (единственного экземпляра) = смерть разума.

Обязательно появятся люди, психологически преодолевшее это ограничение и у них будут развязаны руки, поэтому носители позиции автора вымрут, не выдержав эволюционной конкуренции.

Новые, свободные от предрассудков, люди
— будут делать бэкапы себя;
— будут масштабировать себя под имеющиеся ресурсы (больше ресурсов — больше копий);
— найдут способ проводить синхронизацию копий. представьте, копия высылается на марс, делает необходимые исследования, а дорогостоящая доставка обратно не потребуется. достаточно снять «дельту» разности личностей и влить её в другую личность (с раздвоением памяти).

Information

Rating
2,434-th
Location
Россия
Registered
Activity