设为首页 加入收藏

TOP

C++结构复习讲解
2018-02-06 13:13:08 】 浏览:102
Tags:结构 复习 讲解

结构: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');// 移除失败输入

}

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇C/C++从源码到可执行程序的过程讲.. 下一篇硬币排成线 395.硬币排成线Ⅱ C++

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目