lambda表达式

lambda表达式可以构造一个闭包,能够捕获当前作用域变量的无名函数对象。

使用lambda可以就地的定义一个目标函数,不需要额外的再写一个命名函数或者函数对象

  • 函数对象:在类中重载函数调用符(),此时类的对象就能像普通函数一样调用,因此取名为函数对象,同时它也可以称之为仿函数。如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
using namespace std;

class A{
public:
A(int _a, int _b):a(_a),b(_b){}

int operator() (){ //重载() 运算符
cout<<"a = "<<a<<" b = "<<b<<endl;
return a + b;
}
private:
int a;
int b;
};

int main()
{
A a(4, 6);
cout<<a()<<endl; //对象可以像普通函数一样使用
return 0;
}

final 与 override关键字

final关键字

指定某个虚函数不能在派生类中被覆盖,或者指定某个类不能被派,主要作用在于防止虚函数无意的重写。

预置与弃置函数

在定义函数时尾部带**=delete表示该函数为弃置函数,任何使用弃置函数的地方都为非良构的,即编译器无法编译通过,带=default**表示该函数为预置函数。

auto关键字&decltype关键字

auto&decltype关键字用于进行类型推导,使其在编译期就能推导出变量或者表达式的类型。

  • auto: 让编译器在编译期间推导出变量类型,通过 = 右边的类型推导出 = 左边的变量类型。
    • 对于变量,指定要从它的初始化器自动推导出它的类型。
    • 对于函数,指定要从它的 return 语句推导出它的返回类型。(ps: C++14起)
    • 对于非类型模板形参,指定要从实参推导出它的类型。(ps: C++17起)
  • decltype: 相比于auto,decltype用于推导表达式类型。检查实体的声明类型,或表达式的类型和值类别。

Python爬虫入门

概述

​ 爬虫指的是一种软件应用程序,可在互联网上运行一些自动化的任务。相比于真人对网页进行操作,爬虫在运行任务时通常很简单,并且效率以及执行速度会高很多。

​ 简单的来说,爬虫就是模拟浏览器接收以及发送请求,并且按照一定的规律自动获取互联网上的信息,将信息处理后保存至数据库并以文档形式或者报表形式进行展示。

爬虫与浏览器的区别:

  • 浏览器: 发送接收请求,进行渲染
  • 爬虫: 发送接收请求,不进行渲染

基于Android端的http、rtsp协议视频流播放器的实现

前言

  最近实训根据老师的要求实现了一个Android端的http、rtsp播放器,根据地址连接并播放视频实时流,并附带人脸检测、目标检测等功能,在此重构一下实现过程并总结。

PCA与SVD

   最近接触到了PCA与SVD经过网上查找资料简单理解后,在此记录总结一下。

SVD

  奇异值分解是一个有着很明显的物理意义的一种方法,它可以将一个比较复杂的矩阵用更小更简单的几个子矩阵的相乘来表示,这些小矩阵描述的是矩阵的重要的特性。一个矩阵可以分解为两个方阵和一个对角矩阵的乘积。 对于一个M × N的矩阵A,我们想要分解成如下的形式:

基于TensorFlow实现mnist数据分类

mnist数据集

  MNIST数据集是机器学习领域中非常经典的一个数据集,由60000个训练样本和10000个测试样本组成,每个样本都是一张28 * 28像素的灰度手写数字图片。

一共4个文件依次分别为:测试集、测试集标签、训练集、训练集标签


基于TensorFlow实现鸢尾花分类

问题描述

本次使用TensorFlow对鸢尾花进行分类,鸢尾花分为三种:Iris Setosa(山鸢尾)、Iris Versicolour (变色鸢尾)以及Iris Virginica(维吉尼亚鸢尾)。

我们通过4个特征值(单位:cm)来进行区分,分别为:sepal length(萼片长度)、sepal width(萼片宽度)、petal length(花瓣长度)、petal width(花瓣宽度)。

基于TensorFlow实现线性回归

线性回归模型简介

  线性回归,就是能够用一个直线较为精确地描述数据之间的关系。这样当出现新的数据的时候,就能够预测出一个简单的值,确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法。


分析

  这里使用了一个3层的神经网络,如下:

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×