b站Cherno的课[12]-[15]
一、C++条件与分支(if语句)
条件语句condition
if语句
分支语句
常数折叠
在编译阶段预先计算常量表达式的值,并将结果直接替换到代码中,从而减少运行时的计算开销。
#include <iostream>
#include "Log.h"
int main()
{
int a = 5;
a++;
const char* string = "Hello";
for (int i = 0; i < 5; i++)
{
const char c = string[i];
std::cout << c << std::endl;
}
Log("Hello World!");
std::cin.get();
}
#include <iostream>
#include "Log.h"
int main()
{
int x = 6;
//bool comparisonResult = x == 5;
if (x == 5)
Log("Hello World!");
std::cin.get();
}
检查指针是否为null
#include <iostream>
#include "Log.h"
int main()
{
const char* ptr = "Hello";
if (ptr)
Log(ptr);
std::cin.get();
}

如果为null,可以为0或nullptr
#include <iostream>
#include "Log.h"
int main()
{
const char* ptr = nullptr;
if (ptr)
Log(ptr);
else
Log("ptr is null");
std::cin.get();
}

二、Visual Studio的最佳设置
过滤器
设置输出目录
$(SolutionDir)bin\$(Platform)\$(Configuration)\
设置中间目录
$(SolutionDir)bin\intermediates\$(Platform)\$(Configuration)\


报错:解决,意外删除了某些文件导致
三、C++循环(for、while)
loops循环
1、for循环
三部分:变量的声明、条件、(i++、i+=、i=i+1)
for的循环体
#include <iostream>
#include "Log.h"
int main()
{
for (int i = 0; i < 5; i++)
{
Log("Hello World!");
}
std::cin.get();
}

#include <iostream>
#include "Log.h"
int main()
{
int i = 0;
bool condition = true;
for (; condition; )
{
Log("Hello World!");
i++;
if (!(i < 5))
{
condition = false;
}
}
std::cin.get();
}
2、while循环
只有条件
#include <iostream>
#include "Log.h"
int main()
{
for (int i = 0; i < 5; i++)
{
Log("Hello World!");
}
Log("======================================");
int i = 0;
while (i < 5)
{
Log("Hello World!");
i++;
}
std::cin.get();
}

如果有一个已经存在的确定的条件,只是想做一种比较,
用while循环,因为条件是不变的,不需要保持更新或者初始化某些东西
处理数组时,用for循环,偏移量/索引
3、do while

四、C++控制流语句(continue、break、return)
1、continue
只能在循环中使用
#include <iostream>
#include "Log.h"
int main()
{
for (int i = 0; i < 5; i++)
{
if(i % 2 == 0)
continue;
Log("Hello World!");
}
std::cin.get();
}

#include <iostream>
#include "Log.h"
int main()
{
for (int i = 0; i < 5; i++)
{
if(i % 2 == 0)
continue;
Log("Hello World!");
std::cout << i << std::endl;
}
std::cin.get();
}

2、break
循环中、switch语句中
跳出循环,终止循环
#include <iostream>
#include "Log.h"
int main()
{
for (int i = 0; i < 5; i++)
{
if(i % 2 == 0)
continue;
Log("Hello World!");
std::cout << i << std::endl;
}
std::cin.get();
}

3、return
可以使用在任何地方,不止是循环
退出函数,返回值
return本身只适用于void函数
#include <iostream>
#include "Log.h"
int main()
{
for (int i = 0; i < 5; i++)
{
if ((i + 1) % 2 == 0)
return 0;
Log("Hello World!");
std::cout << i << std::endl;
}
std::cin.get();
}


562

被折叠的 条评论
为什么被折叠?



