Малоизвестные особенности С/С++
tos:
Цитата: Sochin от Декабрь 21, 2007, 06:30:00
кто-то позиционировал указатели на функцию как фичу С++?
int f1(int p1, int p2){};
int f2(int p1, int p2){};
int (f*)(int,int); // указатель на ф-цию
f=f1;
int r1=f(1,2); // вызываем f1
f=f2;
int r2=f(1,2); // вызываем f2
P.S. Спасибо за интересную тему! Выиграл много пива!!!
ага!!!!некто НЕУДАЧНИК.
LazarusLong:
Кстати можно написать довольно много решений этой задачи меняя только используемые операции (важно что бы операции были обратны друг-другу) к примеру +/-. Когда мне впервые эту задачку задали я придумал вообще вариант использующий умножение и деление, но я размышлял с точки зрения математики без привязки к конкретному языку :).
Артем:
Увидил в примере из книги Павловской, жутко удивился, попробовал, работает :o
Код:
#include <iostream.h>
void main()
{
int a;
cout<<a<<endl;
a=int();
cout<<a<<endl;
a=float();
cout<<a<<endl;
}
Результат:
Код:
1264
0
0
Романыч:
Флуд почистил. Спор и все такое решаем через личку!
Романыч
Alder:
Как программно определить, какой язык используется - С или С++?
Код:
#include <stdio.h>
int main ()
{
printf ("%d\n", sizeof ('a'));
return 0;
}
Для С результат будет равен 4, а для С++ 1. Проверялось на gcc/c++.
(Отправлено в: 12 Июля 2008, 11:42:06)
C, Максимальное значение данного типа
Код:
unsigned max = ~0;
Навигация