Здравствуйте, Слава Шевцов, Вы писали:
СШ>Здравствуйте, Курилка, Вы писали:
PD>>>Кроме шуток, в принципе возможна машина, в которой NULL кодируется не нулем. В архитектуру фон Неймана это не очень лезет, но кто сказал. что кроме нее ничего не может быть ?
К>>А к тому, что ты берёшь системнозависимый NULL и объявляешь его системноНЕзависимым — это по-твоему правильно? К>>А вот 0 уж не знаю каким макаром может быть системнозависимым
СШ>А кто сказал, что пространство целых чисел и пространство адресов должны пересекаться в нуле? Имхо, в IBM PC это совпадение.
А кто сказал, что ((void*)GetSystemIndependentNullValue())==GetSystemDependentNullValue(),
где
Здравствуйте, Слава Шевцов, Вы писали:
СШ>А кто сказал, что пространство целых чисел и пространство адресов должны пересекаться в нуле? Имхо, в IBM PC это совпадение.
Я именно это и имею в виду. Представим себе машину, в которой нет вообще простанства адресов в нашем нынешнем понимании слова. Кстати. в C нет адресов — есть указатели, а что они адреса в действительности — прямо не говорится ИМХО. Так вот, представим себе машину, в которой есть указатели, а есть "black hole" — не указатель, а черная дыра. Он и есть NULL.
Кстати, в принципе, если С интерпретировать , то NULL можно назначить, что угодно. И кстати, в C# null хотя и нуль, но это можно изменить в любой момент — это не число.
Здравствуйте, Pavel Dvorkin, Вы писали:
PD>Кроме шуток, в принципе возможна машина, в которой NULL кодируется не нулем. В архитектуру фон Неймана это не очень лезет, но кто сказал. что кроме нее ничего не может быть ?
Здравствуйте, zelyony, Вы писали:
Z>в лит-ре часто встречается DoSomething(...) Z>пора её уже в АПИ, чтобы на форумах не было "где эни ки?" и "что делает DoSomething?"
Здравствуйте, Слава Шевцов, Вы писали:
СШ>BOOL RunOsInSingleMode(void);
СШ>Переключает Windows в режим, при котором может работать только одно приложение. Возвращает TRUE, если авантюра удалась.
Теперь я знаю код Windows Special Edition (для бедных)
Здравствуйте, Pavel Dvorkin, Вы писали:
PD>Кроме шуток, в принципе возможна машина, в которой NULL кодируется не нулем. В архитектуру фон Неймана это не очень лезет, но кто сказал. что кроме нее ничего не может быть ?
Стандарт C++ сказал. А именно, что есть специальное выделенное значение неправильного указателя и любому указателю можно присвоить его. А кодируется оно литералом 0.
В общем действительно верным было бы
template<class T> T * GetNullPointer() { return 0; }
Т.к. приводить int к указателю компилятор не даст.
Здравствуйте, Pavel Dvorkin, Вы писали:
PD>Предлагаю провести конкурс на самую бесполезную функцию, которую можно добавить к Win32 API / MFC / VCL / .NET FrameWork etc.
Добавить бы визарда по WinAPI. Только не скрепку с глазами. Сумашедшая скрепка — это для простых смертных. Нам бы что-нибудь вроде ночной феи в пеньюаре
Здравствуйте, Pavel Dvorkin, Вы писали:
PD>Господа, а Subj приближается...
PD>Предлагаю провести конкурс на самую бесполезную функцию, которую можно добавить к Win32 API / MFC / VCL / .NET FrameWork etc.
[skip]
Я знаю одну функцию, которая по праву достойна занять место в любом из вышеперечисленных API. Да вы её тоже знаете! Каждый программист писал эту функцию хотя бы раз. И каждый будущий программист напишет её обязательно. Это функция упоминается в сотнях книг посвященных программированию. Как же мы могли забыть о такой полезнейшей функции? Давно, давно пора добавить вышеупомянутую функцию во все перечисленные API!
Собственно одна из реализаций это замечательной функции:
void HelloWorld()
{
printf("Hello World!");
}
Любая сложная технология неотличима от волшебства. (Артур Кларк)
Здравствуйте, byterus, Вы писали:
B>function IsTrue(Bool:Boolean):Boolean;
Ну и реализация:
function IsTrue(Bool:Boolean):Boolean;
begin
if (Bool = true) and (Bool <> false) or (not Bool = false) and (not Bool <> true) then
begin
Result := true;
exit;
end;
if (Bool = false) and (Bool <> true) or (not Bool = true) and (not Bool <> false) then
begin
Result := false;
exit;
end;
raise EZeroDivide.Create;
raise Exception.Create;
raise EAbort.Create;
end;
Здравствуйте, Pavel Dvorkin, Вы писали:
PD>Предлагаю провести конкурс на самую бесполезную функцию, которую можно добавить к Win32 API / MFC / VCL / .NET FrameWork etc.
void SimulateHDActivity()
{
// Шуршать винтом
}
Использовать в сплеш скрине программы. Чтобы пользаватель понимал, что компьютер работает.
Предложу и свой вариант. Кстати, нечто подобное я писал в своей реальной программе, и там оно было совсем не бесполезным. Я только маленькое изменение сделал