低级错误(持续更新中)
2016-02-22 16:23
351 查看
1. 传递数组之前用了memset,子函数处理之后默认值成了乱码,应该用fill来着。。。
fill 的头文件是<iostream> 命名空间是std;
用法:
eg:
#include<iostream>
using namespace std;
int main()
{
char s[100];
fill(s,s+100,'a');
for(int i=0;i<100;i++)
cout<<s[i];
cout<<endl;
system("pause");
}
它的原理是把那一块单元赋成指定的值,与memset不同,
memset是按字节填充的例如:
这个例子可以很好的区别memset和fill:
#include<iostream>
using namespace std;
int main()
{
int d[100];
fill(d,d+100,1);
for(int i=0;i<100;i++)
cout<<d[i]<<" ";
cout<<endl;
memset(d,1,100*sizeof(int));
for(int i=0;i<100;i++)
cout<<d[i]<<" ";
cout<<endl;
system("pause");
}
(http://www.cppblog.com/zzg/articles/87414.html)
2. 注意acos的范围是-1 ~ 1,向量计算有可能算出来的值不是严格-1~1会导致错误。
3. fabs 和 abs。 不多说。。啪啪打脸
fill 的头文件是<iostream> 命名空间是std;
用法:
eg:
#include<iostream>
using namespace std;
int main()
{
char s[100];
fill(s,s+100,'a');
for(int i=0;i<100;i++)
cout<<s[i];
cout<<endl;
system("pause");
}
它的原理是把那一块单元赋成指定的值,与memset不同,
memset是按字节填充的例如:
这个例子可以很好的区别memset和fill:
#include<iostream>
using namespace std;
int main()
{
int d[100];
fill(d,d+100,1);
for(int i=0;i<100;i++)
cout<<d[i]<<" ";
cout<<endl;
memset(d,1,100*sizeof(int));
for(int i=0;i<100;i++)
cout<<d[i]<<" ";
cout<<endl;
system("pause");
}
(http://www.cppblog.com/zzg/articles/87414.html)
2. 注意acos的范围是-1 ~ 1,向量计算有可能算出来的值不是严格-1~1会导致错误。
3. fabs 和 abs。 不多说。。啪啪打脸
相关文章推荐
- leetcode刷题系列C++-candy
- Linux笔记(12)——快捷键与命令的别名
- shell script中奇怪的符号之${0##*/}
- Spring中的applicationContext.xml与SpringMVC的xxx-servlet.xml的区别
- python高级语法
- 组建开发 教程详解2(转)
- 使用Android studio创建的AIDL编译时找不到自定义类的解决办法
- python zipfile模块测试
- c#自定义简单web服务器
- 【FAQ】如何查看 git tag 的提交时间?
- poj 3279 Fliptile 枚举 模拟
- 爬虫爬虫学习: 爬取网页图片
- Android签名证书的sha1值获取
- Ubuntu 创建、管理用户、组和git库、项目
- 组建开发 教程详解1(转)
- 史上最坑的证书报错解决方法:Code=3000 "未找到应用程序的“aps-environment”的权利字符串"
- 给产品经理讲技术,不得不懂的TCP和UDP
- Asp.net网站中 通过FileUpload 后台处理程序上传文件
- 有return的情况下try catch finally的执行顺序(最有说服力的总结)
- comet