- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
"Сайт о прыщах, 9858 руб./месяц, 1000+ чел/сутки":
https://telderi.ru/ru/viewsite/1356387
"Продам сайт о прыщах, выписано 156 статей, можно собрать СЯ и полностью охватить тему, сайт любит и Гугл и Яндекс, трафик идет одинаково.
Монетизация под эту нишу может быть офферная - с неё я думаю доходы будут выше, чем 10 000 руб. в месяц, я к сожалению опыта работы с офферами не имею, в принципе как и времени на этот проект.
Просадка трафика на графике связана с фильтром от гугла: ранее сайт стоял с неоформленными статьями (без картинок, с битыми ссылками на видео), все переоформили и фильтр был снят. Я тут этот сайт
и купил, пока он был под фильтром.
Ссылки не закупались, но они и не нужны - гугл хорошо ранжирует сайт. Можно сделать перелинковку для увеличения позиций и трафика".
bugotrep 26.10.2018 14:26 # −2
Он забанил моеу учетку (
adrnin 26.10.2018 16:15 # −2
Могу дать пароль от adrnin'a (123), взамен обещай быть пай-мальчиком и хорошо себя вести, ок?
Steve_Brown 26.10.2018 14:56 # −2
Ща кто-нибудь купит - а там действительно прыщи.
guest8 26.10.2018 15:14 # −999
guest8 26.10.2018 15:34 # −999
guest8 26.10.2018 16:27 # −999
Steve_Brown 26.10.2018 16:43 # −1
А что можно было бы добавить в язык, чтобы это решить? Как-нибудь так?:
Тогда sizeof(Cormorant) будет константой времени связывания. Интересно, к чему это приведет...
guest8 26.10.2018 16:46 # −999
guest8 26.10.2018 16:53 # −999
guest8 26.10.2018 16:56 # −999
guest8 26.10.2018 17:06 # −999
guest8 26.10.2018 17:12 # −999
guest8 26.10.2018 17:14 # −999
guest8 26.10.2018 17:17 # −999
guest8 26.10.2018 17:37 # −999
Steve_Brown 26.10.2018 17:43 # −2
Понятно, что если всегда выделять объект в куче, то можно размер определять и динамически. Но это не всегда уместно: может, у меня библиотека комплексных матриц, которые я захочу хранить хоть в массиве, хоть полями - на каждый экземпляр выделение памяти дергать, что ли?
Steve_Brown 26.10.2018 17:44 # −1
экземпляра - это часть публичного интерфейса. И это так и должно быть.
0BEH 26.10.2018 17:49 # −3
Steve_Brown 26.10.2018 17:52 # 0
guest8 26.10.2018 18:07 # −999
guest8 26.10.2018 20:06 # −999
bormand 26.10.2018 20:19 # 0
По идее достаточно добавить в него новый тип релока - "прибавь сюда значение символа".
guest8 27.10.2018 02:15 # −999
guest8 26.10.2018 17:26 # −999
adrnin 26.10.2018 17:30 # −1
bormand 26.10.2018 17:44 # 0
Интерфейсик в хедере, унаследованная от него реализация с полями и прочими кишками в цпп. Почти как в жабке.
Steve_Brown 26.10.2018 17:51 # −1
bormand 26.10.2018 17:54 # −1
guest8 26.10.2018 17:57 # −999
guest8 26.10.2018 18:02 # −999
bormand 26.10.2018 18:04 # −1
guest8 26.10.2018 18:06 # −999
bormand 26.10.2018 18:17 # −1
Ну на стеке такой объект уже не создашь, да. Но для высокоуровневых классов в общем-то и похуй, особенно если shared_from_this нужен.
guest8 26.10.2018 18:19 # −999
roman-kashitsyn 26.10.2018 18:25 # −1
В жабе вообще конструкторы considered harmful. В крестах от них хоть практическая польза есть.
guest8 26.10.2018 21:36 # −999
roman-kashitsyn 26.10.2018 22:41 # 0
Item 1: Consider static factory methods instead of constructors
Там много интересного написано.
guest8 26.10.2018 22:45 # −999
roman-kashitsyn 26.10.2018 23:18 # 0
Рантайм силами миллионов человеко-лет более-менее сносный запилили. Енумы более-менее нормальные сделали, жаводок был хорошим введением, ну и систему аннотаций они развили.
А в языке ещё много эпичного: кривая вариантность массивов (позорный ArrayStoreException) из-за отсутствия женериков в первых версиях, впоследствии слабенькие женерики, отсутствие тайпдефов, жуткий бойлерплейт с equals/hashCode, хоть какая-то модульная система лет через двадцать лет зарождаться начала, etc, можно долго список продолжать.
guest8 27.10.2018 12:28 # −999
adrnin 27.10.2018 13:05 # −1
guest8 27.10.2018 13:39 # −999
bormand 27.10.2018 13:42 # 0
В четвёрку же даже memory model ещё не завезли?
guest8 27.10.2018 13:47 # −999
guest8 27.10.2018 14:04 # −999
adrnin 27.10.2018 14:35 # 0
guest8 27.10.2018 15:04 # −999
roman-kashitsyn 27.10.2018 17:09 # 0
Ссылка (обычно) больше инта, поэтому толку передавать ссылку вместо значения никакого. Разве что где-нибудь в шаблонах, чтобы не выпендриваться с оптимальной передачей аргументов
guest8 27.10.2018 17:24 # −999
roman-kashitsyn 27.10.2018 17:30 # 0
> const int& foo = 0;
Практического смысла в этом, кмк, нет. Я такого ни разу не писал.
guest8 27.10.2018 17:31 # −999
roman-kashitsyn 27.10.2018 17:34 # 0
> const int& foo
Я бы такого точно не написал, можно просто
const int foo = bar ? 1 : 42;
0BEH 27.10.2018 17:39 # 0
guest8 27.10.2018 17:40 # −999
Steve_Brown 26.10.2018 18:10 # −1
bormand 26.10.2018 18:13 # −1
guest8 26.10.2018 18:18 # −999
bormand 26.10.2018 18:20 # −1
guest8 26.10.2018 21:16 # −999
bormand 26.10.2018 18:32 # −1
bormand 26.10.2018 19:27 # 0
Обмазывание макросами оставим читателю в качестве испражнения упражнения.
bormand 26.10.2018 19:34 # 0
roman-kashitsyn 26.10.2018 17:58 # −1
Вот приватные методы в интерфейс совать — ну совсем не камильфо (понятно, почему так, но причина уж больно уныла).
Поэтому я зачастую вместо приватных методов использую статические функции в .cpp файле и передаю в них необходимый стейт явно.
guest8 26.10.2018 18:05 # −999
bormand 26.10.2018 18:11 # −1
static void coco(const std::string& name) { std::cout << name; }
0BEH 26.10.2018 18:23 # −1
noxyuHxo 26.10.2018 20:53 # 0
roman-kashitsyn 26.10.2018 18:23 # −1
клиенту нужно выделить место для укозателя на функцию, верно?
щито? я говорю о > типа
Нет, так не сработает, name-то (предположительно) приватный.
guest8 26.10.2018 21:13 # −999
guest8 26.10.2018 21:31 # −999
guest8 26.10.2018 21:37 # −999
guest8 26.10.2018 21:42 # −999
guest8 26.10.2018 21:48 # −999
roman-kashitsyn 26.10.2018 22:35 # 0
Гугли NVI idiom
> прочитал что vtbl храница в объекте
Где прочитал? Враньё это. В объекте указатель на неё хранится.
guest8 26.10.2018 22:41 # −999
roman-kashitsyn 26.10.2018 22:42 # 0
Потому что клиент по индексу из таблицы функции вызывает, ему надо знать порядок и кол-во виртуальных функций в классе.
guest8 26.10.2018 22:45 # −999
guest8 26.10.2018 22:57 # −999
roman-kashitsyn 26.10.2018 23:08 # 0
Нет конечно
guest8 26.10.2018 23:39 # −999
guest8 26.10.2018 23:40 # −999
roman-kashitsyn 26.10.2018 23:27 # 0
Техническая причина есть, но от этого не легче.
В неймспейсах (включая корневой) компилятор работает в один проход, поэтому всё нужно декларировать до первого вызова.
А вот содержимое классов и структур компилятор обрабатывает в два прохода, поэтому реализации методов могут вызывать другие, ещё не определённые (и даже не объявленные!) методы. Когда компилятор видит реализации метода, он смотрит на всю декларацию класса (и только туда), чтобы узнать контекст.
Из-за этого декларация класса/структуры должна содержать все методы класса, включая приватные.
guest8 26.10.2018 23:54 # −999
guest8 27.10.2018 00:44 # −999
guest8 27.10.2018 00:54 # −999
guest8 27.10.2018 01:13 # −999
guest8 27.10.2018 01:19 # −999
guest8 27.10.2018 01:34 # −999
guest8 27.10.2018 02:56 # −999
roman-kashitsyn 27.10.2018 11:16 # 0
adrnin 27.10.2018 11:45 # 0
Айкы-ы-ы-ы-ы -_-
noxyuHxo 27.10.2018 03:17 # 0
Ну ебать, это же ООП. А где по-твоему должен храниться указатель на метод?
guest8 27.10.2018 03:21 # −999
noxyuHxo 27.10.2018 03:24 # 0
Ебать, какое открытие...
noxyuHxo 27.10.2018 03:29 # 0
>прочитал что vtbl храница в объекте
{facepalm}
guest8 27.10.2018 03:31 # −999
noxyuHxo 27.10.2018 03:32 # 0
guest8 27.10.2018 03:33 # −999
noxyuHxo 27.10.2018 03:36 # 0
guest8 27.10.2018 03:38 # −999
guest8 27.10.2018 03:51 # −999
guest8 27.10.2018 03:51 # −999
guest8 27.10.2018 03:53 # −999
guest8 27.10.2018 03:54 # −999
guest8 27.10.2018 04:17 # −999
3oJIoTou_xyu 27.10.2018 04:22 # 0
guest8 27.10.2018 04:26 # −999
guest8 27.10.2018 10:44 # −999
guest8 27.10.2018 10:47 # −999
adrnin 27.10.2018 10:58 # 0
И садись на огурец,
Ылитный гвидопыховец.
guest8 27.10.2018 12:20 # −999
guest8 27.10.2018 12:20 # −999
guest8 28.10.2018 05:51 # −999
adrnin 28.10.2018 06:16 # 0
guest8 28.10.2018 08:13 # −999
adrnin 28.10.2018 08:22 # 0
guest8 28.10.2018 19:37 # −999
adrnin 28.10.2018 06:39 # 0
guest8 28.10.2018 14:19 # −999
adrnin 28.10.2018 14:46 # 0
http://perevod-tekst-pesni.ru/sektor-gaza/tekst-pesni_kolhoznii-pank.htm
Of the collective farm youth pankoval alone I :
I wore leather pants and was dirty as a pig
My papanka to combine three rules did the day
A mamanka out there on the farm, dergaet boobs all day.
Давно я так не уссыкался ...
guest8 28.10.2018 14:59 # −999
guest8 28.10.2018 15:09 # −999
guest8 28.10.2018 15:04 # −999
guest8 27.10.2018 12:21 # −999
Steve_Brown 26.10.2018 18:20 # −1
Правда, это нужно в основном в слотах. Было бы хорошо написать что-то типа:
bormand 26.10.2018 18:24 # −1
Да пошло оно в жопу. Я лучше PCH включу, чем буду писать эти затычки-вместо-инклудов.
noxyuHxo 27.10.2018 03:14 # 0
roman-kashitsyn 28.10.2018 15:14 # +1
guest8 28.10.2018 15:22 # −999
guest8 28.10.2018 15:25 # −999
roman-kashitsyn 28.10.2018 15:27 # 0
guest8 28.10.2018 15:30 # −999
roman-kashitsyn 28.10.2018 15:33 # 0
В сишке 99 тоже есть inline, проверь.
guest8 28.10.2018 15:43 # −999
guest8 28.10.2018 15:58 # −999
bormand 28.10.2018 16:05 # 0
guest8 28.10.2018 17:20 # −999
Elvenfighter 28.10.2018 16:53 # 0
Нет https://www.youtube.com/watch?v=GldFtXZkgYo
// хоть там речь о крестах, в сишке такой же подход.
guest8 28.10.2018 17:13 # −999
Elvenfighter 28.10.2018 16:57 # 0
inline гарантирует, что функция будет только одна, если все определения одинаковые https://en.cppreference.com/w/cpp/language/inline
Но на вашем любимом вендовозе это не так, если линкуешься с разделяемой библиотекой (dll) в которой есть такая функция.
guest8 28.10.2018 17:15 # −999
guest8 28.10.2018 17:22 # −999
guest8 28.10.2018 17:27 # −999
guest8 26.10.2018 17:27 # −999
adrnin 29.10.2018 04:33 # 0
Straiker 29.10.2018 23:21 # 0