microsoft Visual Studio软件的使用:
1)使用microsoft Visual Studio进行文件差异比较
在【命令窗口】输入如下:
工具.查找文件差异 D:\贪食蛇\EasyTcpClient\easyclient.hpp D:\贪食蛇\bin\Win32\EasyTcpClient.hpp
2)windows文件,可以直接拖拽到ubuntu虚拟机中;
3)在microsoft Visual Studio软件中,解决与ubuntu系统中编码方式不同,(ubuntu默认是utf-8)造成的乱码;
可以选择文件另存,出现对话框后,选择【编码保存】,行尾选择【】当前行】,编码为 “unicode(utf-8 无签名)-代码页65001”,
这样把文件【已经更改为utf-8编码方式】拖拽到ubuntu中,也不会乱码了。
4)在ubuntu编译文件时,头文件包括【.h和.hpp】可以不包含,g++ server.cpp -std=c++11;
5)当microsoft Visual Studio开发中,如使用scanf等报错时,需要右键【项目】选择【属性】->选择【C/C++】->选择 SDL(安全开发生命周期检查选择否即可);
6)栈内存一般是1M到2M;
7)microsoft Visual Studio编译文件的快捷键是 ctrl+b;
9)性能探测器的使用: 【debug】->【性能探测器】->【勾选CPU使用率】->点击【开始】即可;
std::mem_fn; mem是成员member的意思;
std::function的使用
int printMsg(int a)
{
cout << a << endl;
return 0;
}
int main(void)
{
//只有在用到的时候,才可以显示错误
std::function<void(int)> fptr = printMsg;
//int num = fptr(3);
return 0;
}
10)二十三种设计模式
设计模式的三大类
创建型模式(Creational Pattern):对类的实例化过程进行了抽象,能够将软件模块中对象的创建和对象的使用分离。
(5种)工厂模式、抽象工厂模式、单例模式、建造者模式、原型模式
记忆口诀:创工原单建抽(创公园,但见愁)
结构型模式(Structural Pattern):关注于对象的组成以及对象之间的依赖关系,描述如何将类或者对象结合在一起形成更大的结构,就像搭积木,可以通过简单积木的组合形成复杂的、功能更为强大的结构。
(7种)适配器模式、装饰者模式、代理模式、外观模式、桥接模式、组合模式、享元模式
记忆口诀:结享外组适代装桥(姐想外租,世代装桥)
行为型模式(Behavioral Pattern):关注于对象的行为问题,是对在不同的对象之间划分责任和算法的抽象化;不仅仅关注类和对象的结构,而且重点关注它们之间的相互作用。
(11种)策略模式、模板方法模式、观察者模式、迭代器模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式
记忆口诀:行状责中模访解备观策命迭(形状折中模仿,戒备观测鸣笛)
https://pan.baidu.com/s/1cdBa4HR6mLzUY0nCGNXuPg?pwd=znzp#list/path=%2F //rv1106资料
居【平时】视其所亲,富视其所与,达视其所举,穷【不得志】视其所不为,贫视其所不取;
平时看他亲近哪些人,富有时看他结交哪些人,显贵时看他推举哪些人,不得志时看他不做哪些事,贫苦时看他不要哪些东西;
#include
int main() {
// (6.2)find_if简介:函数模板find_if
auto result = find_if(myvector.begin(), myvector.end(), [](int i) {
cout << i << endl;
return false; // 只要我返回false,那么find_if就不停的遍历myvector,一直到返回true或者遍历完为止
});
//如果find_if第三个参数这个可调用对象(lambda)返回true,find_if就停止遍历
result = find_if(myvector.begin(), myvector.end(), [](int i) {
cout << i << endl;
if (i > 15) {
return true;
}
else {
return false; // 只要我返回false,那么find_if就不停的遍历myvector,一直到返回true或者遍历完为止
}
});
// find_if的调用返回一个迭代器,指向第一个满足条件的元素,如果这样的元素不存在,则这个迭代器会指向
// myvector.end()
if (result == myvector.end()) {
cout << "没找到" << endl;
}
else {
cout << "找到了:" << *result << endl;
}
// 总结:善用lambda表达式,让代码更简洁,更灵活,更强大,提高开发效率,提高可维护性等等.
return 0;
}
Vegetable [?ved?t?bl] 蔬菜
Steak //牛排,死dei【四声】科;
responsitility 英 [r??sp?ns??b?l?t?] 有责任心