#include <iostream>
using namespace std;
template <typename T>
void swap(T &a, T &b) {
T temp(a);
a = b;
b = temp;
}
template <typename T>
T add(const T &a, const T &b) {
return a + b;
}
int main()
{
cout << "Hello world!" << endl;
int a = 0;
cout << a++ << a++ << a++ << endl;
char *p = "abc";
cout << *(p++) << *(p++) << *(p++) << endl;
return 0;
}
2.printf中类似的用法:
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
int arr[] = {6, 7, 8, 9, 10};
int *ptr = arr;
*(ptr++) += 123; //后置++在表达式计算完成后,执行,前置的++在表达式执行之前执行;
//arr++; arr 是个右值rvalue,而++需要一个左值lvalue;
printf("%d\n", (int)&arr);
printf("%d\n", arr[0])
printf("%d, %d\n", *ptr, *(++ptr)); //printf 参数的压栈顺序,从右往左。输出 8,8;
unsigned char a = 0xA5;
unsigned char b = ~a >> 4;
printf("~a = %x \n", ~a);
printf("a = %d \n", a);
printf("b = %d \n", b);
float f = 1.0f;
printf("(int) f = %x\n", (int)f);
printf("&f = %x\n", &f);
return 0;
}