@ProCxx

Страница 549 из 2477
Berkus
03.02.2017
15:57:30
засунь туда хотя бы строку

Anna
03.02.2017
15:59:20
Про типизацию и ее виды
можно твое мнения, как спеца? почему в ++ обязательно нужно template<class T> писать когда пишешь реализацию для темплейтного класса? и если какие-то снипеты в куте криейторе, чтоб они сами расставлялись сверху?

Berkus
03.02.2017
16:00:09
ты можешь сама же создать сниппет

> почему в ++ обязательно нужно template<class T> template <> говорит конпелятору чтобы он закрыл глаза и компилировал как попало, пушо дальше будет сложно

Google
Anna
03.02.2017
16:01:14
ахахах, класс))

Artem
03.02.2017
16:02:15
засунь туда хотя бы строку
напиши на плюсах аналог class A<B extends C>

Anna
03.02.2017
16:02:24
я просто ищу какую-то автоматизацию для этого, а то над каждым методом писать template<ololo> задалбывает

Anna
03.02.2017
16:03:59
а, окей) ща погуглю

Kirill
03.02.2017
16:05:08
Мы остановились, добившись успешной компиляции следующего: for(;P("\n"),R-;P("|"))for(e=C;e-;P("_"+(*u++/8)%2))P("| "+(*u/4)%2); - вот почему C++ ни разу не строгий.

Вот на С++ вы можете написать subj. На паскале вы не можете такого написать, это одно из преимуществ паскаля перед С++

Berkus
03.02.2017
16:05:50
но это бред, где здесь проверяется строгость?

Kirill
03.02.2017
16:06:25
Строгий язык не должен позволять писать такую дичь

Ну а для скептиков напомню, что хотя бы наличие reinterpret_cast делает язык не строгим.

Berkus
03.02.2017
16:08:44
напиши на плюсах аналог class A<B extends C>
ты хочешь ккой вариант, через static_assert, или через SFINAE?

Google
Berkus
03.02.2017
16:09:16
Строгий язык не должен позволять писать такую дичь
спасибо, отличная формулировка. "А один язык седой и строгий сказал отчетливо сегфолт"

напиши на плюсах аналог class A<B extends C>
ладно, начнем со статика template <typename B> class A { static_assert(std::is_base_of<C, B>::value, "B not derived from C"); };

Berkus
03.02.2017
16:12:01
взять BOOST_CONCEPT_REQUIRES

Kirill
03.02.2017
16:12:17
О_о

Artem
03.02.2017
16:29:27
Ну да, так можно

Andrei
03.02.2017
18:17:55
Да, всем известно в плюсах нестрогая типизация.

Это не большая проблема.

Фишка плюсов в том, что ты получаешь полный контроль над ситуацией.

Если хочешь ты можешь и горы свернуть и в ногу выстрелить.

И это то, за что этим языком пользуются.

Компилятор делает всё возможное, чтобы твой код работал быстро.

Другие языки попросту по своему дизайну не дают тебе этого контроля.

Kirill
03.02.2017
18:20:53
Я не спорю. Но если типизация не строгая, то и язык строгим не назовешь.

Andrei
03.02.2017
18:21:10
Что такое вообще «строгий» язык?

Kirill
03.02.2017
18:21:37
Язык, который держит программиста в жестких рамках

Google
Kirill
03.02.2017
18:21:41
:)

Andrei
03.02.2017
18:21:46
Плюсы это статически-, но не строго-типизированный язык.

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

Наоборот я могу решить задачу миллионом способов.

Kirill
03.02.2017
18:22:28
Вот именно

Andrei
03.02.2017
18:24:30
Язык позволяет мне практически что угодно. Это я сам должен себя ограничивать, чтобы писать правильно.

Но в плане шаблонов плюсы конечно меня ограничивают.

Да, это недостаток.

Но я в процессе его исправления.

Alex Фэils?︙
03.02.2017
18:34:48
Я напишу свои плюсы, с констэкспром и шаблонами

Kirill
03.02.2017
18:34:48
Попахивает велосипедом, не? :) #if defined(__CLANG_ATOMICS) #define atomic_increment(object) \ __c11_atomicadd_fetch(object, 1, __ATOMIC_RELAXED) #define atomic_decrement(object) \ __c11_atomic_sub_fetch(object, 1, __ATOMIC_ACQ_REL) #elif defined(__GNUC_ATOMICS) #define atomic_increment(object) \ __atomic_add_fetch(object, 1, __ATOMIC_RELAXED) #define atomic_decrement(object) \ __atomic_sub_fetch(object, 1, __ATOMIC_ACQ_REL) #else #define atomic_increment(object) \ __sync_add_and_fetch(object, 1) #define atomic_decrement(object) \ __sync_sub_and_fetch(object, 1) #endif

Kirill
03.02.2017
18:37:10
Чувак решил сделать свой shared_ptr. Боже, как же меня это бесит!

Alex Фэils?︙
03.02.2017
18:38:44
Kirill
03.02.2017
18:39:15
Alex Фэils?︙
03.02.2017
18:40:02
В супапро

Kirill
03.02.2017
18:44:16
Смотря, для каких целей писать код. Одно дело: академический интерес, тренировка или что-то несерьезное. Другое дело: проект на гитхабе, у которого 153 звезды (т.е. им пользуются люди).

Kirill
03.02.2017
18:51:05
Это был фрагмент 6-летней давности)
Когда там появился Boost.SmartPtr? ;)

Google
Berkus
03.02.2017
19:05:42
в одной из первых версий )

Alex Фэils?︙
03.02.2017
19:06:26
Это не мешало мне бустом не пользоваться?

Berkus
03.02.2017
19:07:55
никому не мешало

Andrei
03.02.2017
19:11:14
Kartonagnick
03.02.2017
19:14:44
Страуструп в своей книге "дизайн и эволюция" писал, что видет успех плюсов, в демократии, которую он заложил в него изначально. в свободе самовыражении. и язык выстрелил

Admin
ERROR: S client not available

Andrei
03.02.2017
19:16:12
-__-

Kartonagnick
03.02.2017
19:16:30
сишка - просто раздолбайная. но не выразительная

Nikolay
03.02.2017
19:16:36
осторожнее
а что, я неправ? сколько там операций каста в STL?

Berkus
03.02.2017
19:16:50
причем тут касты? что ты несешь

Andrei
03.02.2017
19:16:51
О чём этот человек?

Какие касты?

Kartonagnick
03.02.2017
19:17:10
никогда не понимал людей, которые что-то гонят про STL несут какой то бред)

Berkus
03.02.2017
19:17:36
ну не знаю, может он думает что касты какой-то рантайм оверхед дают

Nikolay
03.02.2017
19:17:41
ладно, я просто неправильное место нашел для вброса

Kartonagnick
03.02.2017
19:17:49
может)

Google
Nikolay
03.02.2017
19:17:53
я не говорю про рантайм оверхед

я говорю про то, что их дохера слишком

и вообще STL - очень сомнительная вещь, если нужно писать что-то серьезное

Berkus
03.02.2017
19:18:23
не знаю, смотрел в libc++ там вполне вменяемо - вместо кастов темплейты )

Kartonagnick
03.02.2017
19:18:24
вот только там кастов кот наплакал. как это вообще ему мешает жить - вопрос отдельный)

Berkus
03.02.2017
19:18:43
и вообще STL - очень сомнительная вещь, если нужно писать что-то серьезное
ну тут давай предлагай что-то более серьезное тогда

Berkus
03.02.2017
19:18:54
лол

Kartonagnick
03.02.2017
19:19:08
)))))

Berkus
03.02.2017
19:19:10
"как выстрелить себе в ногу на с, без кастов"

Andrei
03.02.2017
19:19:16
Что-то тут много оффтопа и троллей.

Kartonagnick
03.02.2017
19:19:44
так сишный каст - это что-то похуже reinterpret_cast)))

Nikolay
03.02.2017
19:20:10
ну просто для серьезного низкого уровня есть си, для высокого - другие языки, типа Python. А что такое C++ тогда? “несерьезный низкий уровень”?

Andrei
03.02.2017
19:20:25
Лол.

Ну толсто же.

Очень тупые вбросы.

Попробуй получше.

Nikolay
03.02.2017
19:21:06
ну почему толсто? :) правда же, что не так?

Kartonagnick
03.02.2017
19:21:08
c++ - такой же высокоуровневый ассемблер, как и си. си до сих пор не на свалке лишь потому, что стандарт де факто. и бегает там, где кроме него и асма не бегает больше ничто.

Kartonagnick
03.02.2017
19:21:50
ну почему толсто? :) правда же, что не так?
ну потому что глуповато выглядит

Страница 549 из 2477