码迷,mamicode.com
首页 > 编程语言 > 详细

C++记录

时间:2014-08-11 00:13:21      阅读:183      评论:0      收藏:0      [点我收藏+]

标签:des   style   blog   http   color   数据   2014   ar   

1, a++与++a

bubuko.com,布布扣

 

2,

int a[10] ;

int* p = (int*)(&a + 1 ) ;

&a 是数组指针, 其类型为int (*)[10] ,   &a+1 表示 a + 10 .

a才是&a[0] .

(int*)(&a+1) - (int*)(&a) == 10 

 

3,

在默认构造函数内部再调用带参的构造函数属用户行为而非编译器行为,亦即仅执行函数调用,而不会执行其后的初始化表达式。

只有在生成对象时,初始化表达式才会随相应的构造函数一起调用。

struct CLS
{
    int m_i;
    CLS(int i): m_i( i ) { }
    CLS()
    {
        CLS( 0 );//不会执行其后的初始化表达式
    }
};

int main(void)
{
    CLS obj;
    cout << obj.m_i << endl;
    return 0;
}    

 

4,

C++中的空类,默认产生哪些类成员函数

class Empty
{
    public:
    Empty(); //缺省构造函数
    Empty(const Empty &); //拷贝构造函数
    ~Empty(); //析构函数
    Empty & operator=(const Empty &); //赋值运算符
    Empty* operator&(); //取址运算符
    const Empty* operator&() const; //取址运算符const
};

 

 

5,

bubuko.com,布布扣

// 功能:由src所指内存区域复制count个字节到dest所指内存区域。
// 说明:src和dest所指内存区域可以重叠,但复制后dest内容会被更改。函数返回指向dest的指针
void *memmove(void *dest , const void *src , size_t count)
{
    assert( (dest != NULL) && (src != NULL));     //安全检查
    assert( count > 0 );

    char *psrc = (char *) src;
    char *pdest = (char *) dest;
    //检查是否有重叠问题
    if( pdest < psrc )
    {
        //正向拷贝
        while( count-- )
            *pdest++ = *psrc++;
    }
    else if( psrc < pdest )
    {
        //反向拷贝
        psrc = psrc + count - 1;
        pdest = pdest + count - 1;
        while( count-- )
            *pdest-- = *psrc--;
    }
    return dest;
}

// 功能:由src指向地址为起始地址的连续n个字节的数据复制到以dest指向地址为起始地址的空间内。
// 说明:src和dest所指内存区域不能重叠,函数返回指向dest的指针
void *memmcpy(void *dest , const void *src , size_t count)
{
    assert( (dest != NULL) && (src != NULL));     //安全检查
    assert( count > 0 );

    char *psrc = (char *) src;
    char *pdest = (char *) dest;
    while( count-- )
        *pdest++ = *psrc++;

    return dest;
}

 

C++记录,布布扣,bubuko.com

C++记录

标签:des   style   blog   http   color   数据   2014   ar   

原文地址:http://www.cnblogs.com/liuhan333/p/3903612.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!