
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[216.73.216.26] |
![]() |
|
Страницы: (117) « Первая ... 73 74 [75] 76 77 ... 116 117 ( Перейти к последнему сообщению ) |
![]() |
Сообщ.
#1111
,
|
|
Цитата archimed7592 @ Есть очень большая разница между compile-time шаблонами и run-time шаблонами. В частности, опять же, нельзя производить никакой настройки во время компиляции(т.е. всё те же оверхэды). Что за настройки во время компиляции? |
Сообщ.
#1112
,
|
|
|
Цитата Smike @ ОК, как мне получить экземпляр "абстрактного класса" из класса, наследующегося от нескольких? То есть некое подобие QueryInterface. ты можеш 1. реализовать некое подобие queryinterface 2. использовать dynamic_cast |
Сообщ.
#1113
,
|
|
|
Цитата trainer @ т.е. и Borland в Delphi решила использовать эту "совершенно бесполезную фичу"? А множественное наследование когда реализуют? Не шаблоны. Дженерики. Ибо достаточно. |
Сообщ.
#1114
,
|
|
|
Цитата wind @ ? как всегда коротко_ аргументировано и убедительно. Добавлено Цитата Romkin @ Не шаблоны. Дженерики. Ибо достаточно. ![]() |
Сообщ.
#1115
,
|
|
|
Цитата LuckLess @ 2. использовать dynamic_cast Ах да, совсем забыл. |
![]() |
Сообщ.
#1116
,
|
|
Цитата LuckLess @ как всегда коротко_ аргументировано и убедительно. LuckLess, это знак вопроса. Вопрос. Не утверждение. |
Сообщ.
#1117
,
|
|
|
Цитата wind @ LuckLess, это знак вопроса. Вопрос. Не утверждение. Приём. тогда возможно ответить на него "!". От каждого по символу!! пс - не чесно редактировать и стерать то что сообщение отредактировано |
![]() |
Сообщ.
#1118
,
|
|
Цитата LuckLess @ пс - не чесно редактировать и стерать то что сообщение отредактировано Забываю, извините. |
Сообщ.
#1119
,
|
|
|
Цитата archimed7592 @ стати, господа Дельфисты, просветити склерозного дедушку: есть ли в Дельфи такое понятие, как константный объект? Желательно сразу с примером. Собственно объектов - нет. Ибо экземпляр объекта создается в куче. Всегда. Но методы и поля класса есть: ![]() ![]() type TMyClass = class public class var // Introduce a block of class static fields. Red: Integer; Green: Integer; Blue: Integer; var // Ends the class var block. InstanceField: Integer; end; The class fields Red, Green, and Blue can be accessed with the code: TMyClass.Red := 1; TMyClass.Green := 2; TMyClass.Blue := 3; Class fields may also be accessed through an instance of the class. Также объявляются методы и свойства класса. |
Сообщ.
#1120
,
|
|
|
Цитата Smike @ правильно, потому что в C/C++ два строковых литерала соединяются без знака +. Просто "foo" "bar" как ни старайся, никакой на свете строковый класс C++ не даст вам написать "foo"+"bar", поскольку строковые литералы в C++ всегда имеют тип char*, а не string. ![]() а для указателей есть strcat или преобразование одного из операндов к std::string |
![]() |
Сообщ.
#1121
,
|
|
Нет. Стоит задача: написать модуль делающий объёмные геометрические вычисления... Что делать Дельфистам? Отказываться от любимого Дельфи потому что этот язык ущёрбен и на нём такое не реализуемо? А с чего бы вдруг плюсисты должны задумываться о том, что их библиотеку возможно захотят использовать пользователи других языков? Это означает, что они должны отказаться от всех прелестей и возможностей языка и писать на приктически чистом Си(пространства имён нельзя, классы нельзя, RAII нельзя, шаблоны нельзя, нихрена нельзя). |
Сообщ.
#1122
,
|
|
|
Цитата archimed7592 @ Стоит задача: написать модуль делающий объёмные геометрические вычисления... Почему эту задачу нельзя поручить C++ программисту? (только не тому, которого я приводил в примерах) Цитата archimed7592 @ Это означает, что они должны отказаться от всех прелестей и возможностей языка и писать на приктически чистом Си(пространства имён нельзя, классы нельзя, RAII нельзя, шаблоны нельзя, нихрена нельзя). Нет, нужно просто создавать юзабельный интерфейс для этого всего. Меня не интересует, как реализован DirectX, я его могу использовать в любом языке программирования. |
Сообщ.
#1123
,
|
|
|
Цитата Romkin @ Мне кажется он написал "константный", а не "статический" Собственно объектов - нет. Ибо экземпляр объекта создается в куче. ![]() |
Сообщ.
#1124
,
|
|
|
Цитата archimed7592 @ Нет. Стоит задача: написать модуль делающий объёмные геометрические вычисления... Что делать Дельфистам? Отказываться от любимого Дельфи потому что этот язык ущёрбен и на нём такое не реализуемо? А с чего бы вдруг плюсисты должны задумываться о том, что их библиотеку возможно захотят использовать пользователи других языков? Это означает, что они должны отказаться от всех прелестей и возможностей языка и писать на приктически чистом Си(пространства имён нельзя, классы нельзя, RAII нельзя, шаблоны нельзя, нихрена нельзя). Реализуемо наверняка. И скорее всего нечто похожее есть, надо только поискать. А ты еще раз подтвердил все мои высказывания о том, что программисты С++ считают все остальные языки ущербными, и варятся в своем замкнутом пространстве ![]() |
![]() |
Сообщ.
#1125
,
|
|
Цитата Smike @ ОК, как мне получить экземпляр "абстрактного класса" из класса, наследующегося от нескольких? То есть некое подобие QueryInterface. Просто привести(неявно) указатель/ссылку/умный указатель к нужному типу. Цитата Romkin @ Собственно объектов - нет. Ибо экземпляр объекта создается в куче. Всегда. И что? Romkin, ты что вообще не разбираешься в сабже? Твои предшественники были более аргументированы ![]() ![]() ![]() struct A { void nonConstMethod(); void constMethod() const; }; // ... A *pObj = new A(); // на куче pObj->nonConstMethod(); // ok pObj->constMethod(); // ok const A *cpObj = pObj; pObj->nonConstMethod(); // error pObj->constMethod(); // ok |