[навеяно tyomitch'ем] Шутка в C++

Вопросы по языкам программирования Си и С++.
ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

[навеяно tyomitch'ем] Шутка в C++

Сообщение ANDLL » 17.08.2006 (Чт) 22:31

Как-то tyomitch с кем-то там рассуждал про компиляторы... И говорил что-то про объединения одинаковый строк в одном месте...
Навело на мысль.
Наверное баян, но может кто-то не знает:
Код: Выделить всё
#include "windows.h"

void main()
{
   VirtualProtect("Hello world",100,PAGE_READWRITE,new DWORD);
   *(LPSTR)"Hello world"='h';
   MessageBox(0,"Hello world","",0);
}

P.S. внекоторых компиляторах C++, где оптимизации нету, фишка может не сработать. Советую присмотреться к регистру первой буквы :)
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог

AjaxVS
Постоялец
Постоялец
 
Сообщения: 506
Зарегистрирован: 01.12.2004 (Ср) 13:12
Откуда: Donetsk, Battle.Net

Сообщение AjaxVS » 17.08.2006 (Чт) 22:40

Я думаю, ANDLL не обидется, если я сюда запостю тоже шутку на С++ (друг по асе вчера прислал):
Функция вычисления завтрашней даты:
Код: Выделить всё
void get_tomorrow_date( struct timeval *date ) {
sleep (86400);
gettimeofday (date, 0);


GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 17.08.2006 (Чт) 22:47

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

AjaxVS
Постоялец
Постоялец
 
Сообщения: 506
Зарегистрирован: 01.12.2004 (Ср) 13:12
Откуда: Donetsk, Battle.Net

Сообщение AjaxVS » 17.08.2006 (Чт) 22:53

GSerg, я мог бы создать тему с точно таким названием: " Шутка в C++"
Но гораздо логичнее было отпостить сюда, не находишь?

ЗЫ. Хватит придираться =)

BV
Thinker
Thinker
Аватара пользователя
 
Сообщения: 3987
Зарегистрирован: 12.09.2004 (Вс) 0:55
Откуда: Молдавия, г. Кишинёв

Сообщение BV » 17.08.2006 (Чт) 23:31

2 AjaxVS

Это баян. И действительно не в тему.
const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out);
for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl;

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 18.08.2006 (Пт) 7:29

побочный эффект от оптимизации однако...
Весь мир матрица, а мы в нем потоки байтов!

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 18.08.2006 (Пт) 8:16

Это ещё что: в Фортране, как гласит предание, числовые константы тоже сливались. И если в какой-то проге, скажем, требовалась большая точность, в начало добавляли строку: 3.14 = 3.1415926
После чего весь остальной код, использовавший константу 3.14, начинает работать с новым значением.
Изображение

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 18.08.2006 (Пт) 10:50

гм... надо повспоминать Fortran...
Весь мир матрица, а мы в нем потоки байтов!


Вернуться в С/С++

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4

    TopList