一点儿小结

学习《C++Primer》看到的,做点儿笔记吧

1、通常,函数不应该有vector或其他标准库容器类型的形参。调用含有普通的非引用vector形参的函数会复制vector的每一个元素,所以,从避免复制vector的角度出发,应考虑将形参声明为引用。而实际上,C++程序员倾向于通过传递指向容器中需要处理的元素的迭代器来传递容器。

2、数组形参的定义,下面三种是等价的:

void print(int *) { /*...*/}

void print(int []) { /*...*/}

void print(int [10]) { /*...*/}

   上面三种的定义,其形参都是int *,一般来说,将其直接定义为指针要比使用数组更好。

3、当编译器检查数组形参关联的实参时,他只会检查实参是不是指针、指针类型、数组元素的类型是不是匹配,而不会检查数组的长度,所以没有必要在形参中制定数组长度,那样也容易引起误解;

4、如果通过引用传递数组,那么编译器不会将数组实参转化为指针:

void print(int (&array) [10]) {/*...*/}
int main()
{
    int i=0;
    int j[2]={0,1};
    int k[10]={0,1,2,3,4,5,6,7,8,9};
    print(&i);// error
    print(j);// error
    print(k);// ok
    return 0;
}	

5、多维数组的传递
void print(int (matrix *)[10], int rowsize) {/*...*/}
  上式中,将matrix声明为指向含有10个int型元素的数组的指针。
  同样也可以以数组语法形式定义
void print(int matrix[][10], int rowsize) {/*...*/}
  这条语句把matrix声明为二维数组的形式。实际上,形参是一个指针,与一位数组一样,编译器忽略掉第一维的长度,所以最好不要把它包含在形参中;

6、编译器隐式的将类内定义的成员函数当做内联函数;

7、每个成员函数都有一个额外的、隐含的的形参将该成员函数与调用该函数的类对象捆绑在一起;

8、每个成员函数(static函数除外)都有一个额外的、隐含的的形参this,在调用时成员函数时,形参this初始化为调用函数的对象的地址。

total.same_isbn(trans);
编译器这样重写这个函数调用

Sales_item::same_isbn(&total,trans);


9、由编译器创建的默认构造函数通常称为合成的默认构造函数:合成的默认构造函数一般仅适用于包含类类型成员的类。而对于含有内置类型或者复合类型成员的类,则通常应该定义他们自己的默认的构造函数初始化这些成员;

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
本实验利用贝叶斯分类器对手写数字进行分类。首先,我们使用MNIST数据集作为训练集和测试集,该数据集包含60000个28x28像素的图像和10000个测试图像。我们将每个像素视为一个特征,总共有784个特征。对于每个数字,我们使用高斯分布来建模每个特征的概率分布。 在实验中,我们使用Python编程语言和Scikit-learn机器学习库完成了实验。首先,我们将MNIST数据集加载到内存中。然后,我们将训练集和测试集分别分成数字0到9的子集。对于每个数字,我们使用训练集中的图像计算它的均值和方差,然后使用这些参数构建高斯分布模型。对于测试集中的每个图像,我们将其像素值传递给贝叶斯分类器,该分类器使用每个数字的高斯分布模型来计算该图像在每个数字类别下的后验概率。然后,我们选择具有最高后验概率的数字作为预测结果,并将其与实际标签进行比较以计算分类准确性。 实验结果表明,使用贝叶斯分类器对手写数字进行分类的性能非常好。在测试集上,我们获得了92.4%的分类准确性,这比随机猜测要好得多。我们还发现,分类器在数字1和7之间容易混淆,这可能是因为它们具有相似的外观特征。 总之,本实验表明,贝叶斯分类器是一种有效的方法来对手写数字进行分类,特别是在处理高维数据时。它使用简单的概率模型来建模数据,可以快速训练和测试,并且具有良好的分类性能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值