2014-10-9日美图秀秀笔试记录

本文探讨了C++中结构体对齐的基本原理,并通过具体示例展示了不同成员排列对内存分配的影响。此外,还深入分析了String类的构造、析构及赋值操作,并提供了完整的代码实现。

不能再两次被石头绊倒了,把自己不会的记录下来吧。

1.一道是对齐的题目。

// 结构体对齐.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
struct test1 {
	short x;  //2
	short y;  //2
}; 

struct test2 {
	long x;   //4
	short y;  //2+2
};
struct test3 {
	char x;  //1+1
	short y; //2
};

struct test4 {
	char x;  //1+1
	short y; //2
	long z;  //4
};


int _tmain(int argc, _TCHAR* argv[])
{
	printf("%d\n", sizeof(test1));  //输出4
	printf("%d\n", sizeof(test2));  //输出8
	printf("%d\n", sizeof(test3));  //输出4
	printf("%d\n", sizeof(test4));  //输出8
	return 0;
}

2. ifndef/define/endif的作用

主要目的是防止头文件的重复包含和编译,

3. 实现String类的构造,析构,赋值函数

这道题是剑指offer里面的第一题,为什么在当时做不出来呢?学得不好啊。。。。

// 实现String类.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include <iostream>
#include <cstring>

using namespace std;

class String {
public:
	String(char *str = NULL);
	~String(void);
	String(const String& other);
	String& operator=(String& other);

	//工具函数
	void PrintStr() 
	{
		cout << m_pdata << endl;
	}
private:
	char* m_pdata;
};

String::String(char *str)
{
	if(str == NULL) {
		m_pdata = new char[1];
		m_pdata[0] = '\0';
	} else {
		m_pdata = new char[strlen(str)+1];
		strcpy(m_pdata, str);
	}
}

String::~String()
{
	if(m_pdata != NULL)
		delete m_pdata;
}

String::String(const String& other)
{
	m_pdata = new char[strlen(other.m_pdata)+1];
	strcpy(m_pdata, other.m_pdata );
}

String& String::operator=(String& other)
{
	/*if(this == &other)
		return *this;
	
	delete[] m_pdata;    //这个东西[]又忘了
	m_pdata = new char[strlen(other.m_pdata)+1];
	strcpy(m_pdata, other.m_pdata);

	return *this;*/
	if (this != &other)
	{
		String tmp(other);   //tmp是局部变量,之后会自动释放
		char *pTmp = tmp.m_pdata;
		tmp.m_pdata = m_pdata;
		m_pdata = pTmp;
	}
	return *this;
}


int _tmain(int argc, _TCHAR* argv[])
{
	String str1("abcd");
	String str2("cd");;

	String str3 = str1;

	str3.PrintStr();

	str3 = str3 = str2;
	str3.PrintStr();


	
	return 0;
}


4.走迷宫的答题



内容概要:本文围绕基于风光储能和需求响应的微电网前经济调度问题,提出了一套完整的Python代码实现方案。研究综合考虑风能、光伏等可再生能源的出力不确定性、储能系统的动态充放电特性以及需求侧响应机制,构建了以最小化系统综合运行成本为目标的优化调度模型。该模型充分体现了对可再生能源的高效消纳、系统经济性提升与供需平衡调控的能力,通过Python编程结合优化求解器实现了模型的求解与仿真验证,为微电网能量管理系统的设计与科研分析提供了可复现的技术路径与实践参考。; 适合人群:具备一定Python编程基础和电力系统优化调度知识的科研人员、工程技术人员及高校电气工程、能源系统等相关专业的研究生。; 使用场景及目标:①应用于微电网、智能配电网及综合能源系统的科研建模与仿真分析;②帮助读者深入理解含高比例可再生能源的电力系统前调度建模方法、目标函数构造与约束条件处理技巧;③为实际工程中实现低碳、经济、可靠的微电网运行提供算法支持与决策依据。; 阅读建议:建议读者结合文档中的代码实例,系统学习优化模型的数学表达与编程实现过程,重点关注变量定义、目标函数构建、系统约束(如功率平衡、储能动态、机组出力等)的编码实现,并尝试调整负荷、新能源出力等输入数据进行多场景仿真,以深入掌握微电网调度策略的灵敏度分析与优化效果评估方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值