0
点赞
收藏
分享

微信扫一扫

Logstash笔记

云上笔记 2024-05-31 阅读 25
#include <iostream>
void  main()
{
    for (unsigned short idx =0;idx <65535; idx++)
    {
        std::cout << idx <<std::endl;
    }
    std::cout<<"Execution completed!"<<std::endl;
}
#include <iostream>
using namespace std;                                 //(3)包含头文件的库
int  main()
{
    for (unsigned short idx =0;idx <65535; idx++)   //(1)条件需要增加
    {
        std::cout << idx <<std::endl;
    }
    std::cout<<"Execution completed!"<<std::endl;
    return 0;                                      //(2)返回值
} 

2. 本段代码执行完毕后,输出什么结果?

#include <iostream> 
using namespace std;

#pragma pack (push,4)

typedef struct TagEntityType
{

unsigned char entityknd:4;

unsigned char domain:6;

unsigned char country:6;

unsigned int category;

unsigned char subCategory;

unsigned int specific;

unsigned char extra;

}TEntityType;

#pragma pack (pop)

int  main()
{
    TEntityType et;
    std::cout << sizeof(et) << std::endl;
    return 0;
}

3. 本段代码可能导致什么问题?

#include <iostream> 
using namespace std;


void profess(char* dst, char* src, unsigned int length)
{}

int main()
{
    srand ((unsigned)time (0));
    for (unsigned int idx =0;idx < 1000000000;idx++)
    {
        unsigned int leng =(unsigned int)(rand()% 100);
        char*srcData =  new char[leng];
        char*dstData =  new char[leng*2];
        profess(dstData,srcData,leng);
        free (srcData);
        free(dstData);

    }
    return 0;
}

正确写法:

#include <iostream> 
using namespace std;

void profess(char* dst, char* src, unsigned int length)
{}

int main()
{
    srand ((unsigned)time (0));
    for (unsigned int idx =0; idx < 100000000; idx++)
    {
        unsigned int leng = (unsigned int)(rand() % 100);
        char* srcData = new char[leng];
        char* dstData = new char[leng * 2];
        profess(dstData, srcData, leng);
        delete[] srcData; // 释放内存
        delete[] dstData; // 释放内存
    }
    return 0;
}

4. 本段代码执行过程中可能导致什么问题?

#include <iostream> 
using namespace std;
void swapData(char** dst,char** src)
{
    *dst =  *src;
}


int main()
{
char* srcData = new char[1024];
char* dstData = new char[1024];
memset (srcData,0x00,1024);
memset (dstData,0xFF,1024);
swapData(&dstData,&srcData);

free(dstData);
free(srcData);
return 0;
}
#include <iostream> 
#include <cstring>
using namespace std;

void swapData(char** dst, char** src)
{
    char* temp = *dst;
    *dst = *src;
    *src = temp;
}

int main()
{
    char* srcData = new char[1024];
    char* dstData = new char[1024];
    memset(srcData, 0x00, 1024);
    memset(dstData, 0xFF, 1024);
    swapData(&dstData, &srcData);
    
    // 现在 srcData 和 dstData 指向不同的内存块
    delete[] dstData; // 释放 dstData 指向的内存
    delete[] srcData; // 释放 srcData 指向的内存
    return 0;
}
举报

相关推荐

0 条评论