C++问题记录
传参的理解
int myint=0;
int* x= &myint;//两个变量指向一处
int* myint=0xA00012345;
直观理解
int ttmain(int argc, char* argv[]){}
ttmain(1,&test)
等价
ttmain
ttmain {int argc = 1,char* argv =&test}
等同于
int myint=0;
int* x;
setvalue()
地址强转
((in_addr *)0x27318)->s_addr
指针加1 地址增加类型占用空间的长度
比如int指针加1:(p+1) 返回的地址就是比p多4位
宏:一段代码,可以不编译通过
#define BEGIN_MESSAGE_MAP(theClass, baseClass) \
PTM_WARNING_DISABLE \
const AFX_MSGMAP* theClass::GetMessageMap() const \
{ return GetThisMessageMap(); } \
const AFX_MSGMAP* PASCAL theClass::GetThisMessageMap() \
{ \
typedef theClass ThisClass; \
typedef baseClass TheBaseClass; \
__pragma(warning(push)) \
__pragma(warning(disable: 4640)) /* message maps can only be called by single threaded message pump */ \
static const AFX_MSGMAP_ENTRY _messageEntries[] = \
{#define END_MESSAGE_MAP() \
{0, 0, 0, 0, AfxSig_end, (AFX_PMSG)0 } \
}; \
__pragma(warning(pop)) \
static const AFX_MSGMAP messageMap = \
{ &TheBaseClass::GetThisMessageMap, &_messageEntries[0] }; \
return &messageMap; \
} 文件操作
endl的作用是换行 可以插入到输出流中,效果为在输出结果中插入换行符’\n’