当前位置: 移动技术网 > IT编程>开发语言>C/C++ > C++结构复习讲解

C++结构复习讲解

2018年02月02日  | 移动技术网IT编程  | 我要评论

白清才,日立42寸等离子电视,胡长清得罪了谁

结构:struct,常用来储存某一类型的变量,在cpp文件中。

struct DirLight {

vec3 direction;

vec3 ambient;

vec3 diffuse;

vec3 specular;

};

uniform DirLight dirLight; // 可以通过dirlignt.ambient访问其中的某一个属性

结构适合于将某一类属性归类,却又不需要创建类的情况下。比如创建一个灯的所有属性,却又不需要创建一个灯的类。我们可以通过灯.属性来调用它。

Halt:退出程序。

#include 中的 exit(0)方法可以立即退出程序。

Switch:(长时间不用忘记了)

switch(color)

{

caseCOLOR_BLACK:

std::cout<< "Black";

break;

caseCOLOR_WHITE:

std::cout<< "White";

break;

default:

std::cout<< "Unknown";

break;

}

static_cast(x) 是错的,static_cast(y)只能实现基本类型的强转。

Java,break是跳出整个循环,continue是跳出本次循环。

生成随机数:

#include // for rand() and srand()

intmain()

{

srand(5323);// 设置一个初始值,只被调用一次(0——32767)

std::cout<< rand()<< "\t"; // 反复调用,返回新的随机数

// 多次运行将返回相同的序列(如果srand()中的初始值相同的话)。如果想要返回不同的序列,我们可以传入一个时间值,因为时间是总是不同的。

srand(static_cast(time(0)));

return0;

}

在给定的范围内生成随机数:(调用getRandomNumber(1,6)生成1-6之间的随机数)

intgetRandomNumber(intmin,intmax)

{

staticconstdoublefraction= 1.0/ (static_cast(RAND_MAX)+ 1.0);// static used for efficiency, so we only calculate this value once

// evenly distribute the random number across our range

returnmin+ static_cast((max- min+ 1)* (rand()* fraction));

}

请考虑用户如何滥用程序,尤其是在文本输入方面。对于每个文本输入点,请考虑:提取失败了吗?用户可以输入比预期更多的输入吗?用户可以输入无意义的输入吗?用户能否溢出输入?

所以,需要测试修复用户输入:

if(std::cin.fail())// 如果用户输入失败

{

std::cin.clear();// 清空输入缓冲

std::cin.ignore(32767,'\n');// 移除失败输入

}

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网