c++教程2021-6-10学习笔记

c++ 内存分区模型:
代码区:存放二进制代码,操作系统进行管理。代码共享只读。
全局区:全局变量/静态变量/常量 ————>字符串常量/全局常量/static
栈区:存放变量/参数值等,编译器负责释放 -->包含局部的const 常量
堆区:程序员进行申请和释放。忘记释放,程序退出的时候,系统进行回收。

//注意:局部变量的地址不要返回。
int * func(){
    int value = 10;
    return &value;
}
//利用new 来创建堆地址
int * func_new(){
    int * p = new int(10);
    return p;
}
    int *p = new int(20);
    delete p; //释放指针。
//    p = NULL; //如果不设置为null,容易出现野指针
    cout <<*p<<endl;//还可以打印输出,这里必须要对指针进行设置为null,释放堆空间,但是指针没有变化。
  //delete 数组
    int  * arr= new int[10];
    for (int i=0;i<10;i++){
        arr[i] = i+100;
    }
    for (int i=0;i<10 ;i++){
        cout << arr[i]<< endl;
    }
    delete [] arr;
//引用:给变量起别名。 模型是:数据类型  &别名 = 原名   这里其实指向的同一个内存。
//引用必须进行初始化,一旦初始化,就不能进行改变。
//引用的本质就是指针常量。
int value = 10;
int &intValue = value;
intValue = 20;
cout <<value <<endl;//20
cout << intValue << endl;//20
  //常量引用: 常量指针常量。
const int & ref = 10;//--->编译器做处理:int temp =10;&& const int & ref = temp 的一个转化。

#include <iostream>
using namespace  std;



//函数默认返回值,如果没有传就是默认值,如果传了就是传的值
int add(int a,int b=20,int c = 30){
    return a+b+c;
}

//函数的声明有参数的默认值,实现就不能有默认值。这里不能有二异性
int func (int a = 10,int b=10);
int func (int a,int b){
    return a + b;
}

//实现有默认值,声明就不能有默认值。 这里不能有二异性
int func1 (int a,int b);
int func1 (int a = 20,int b = 20){
    return a + b;
}
//函数的占位参数
int func2(int a,int);//最后面的是占位参数
int func2(int,int = 10){//实现的时候也可以有占位参数,这里还可以有默认参数
    cout << "func2"<<endl;
}
int main() {

    int value1 = add(10);
    int value2 = add(10,30);
    int value3 = add(10,30,40);
    cout << "value1:"<< value1  << " value2:"<< value2<< " value3:"<<value3<<endl;

    cout<<"func:"<< func(2)<<endl;
    cout<<"func1:"<< func1(4)<<endl;
    func2(1);
    return 0;
}




//函数重载
//1.同一个作用域下。
//2.函数名相同,参数不同,参数位置不同。 提高复用性
//3.返回值不同,不是重载。

void func(){
    cout << "func run"<<endl;
}
//void func(int a){
//    cout << "func int a run"<<endl;
//}
void func(double a){
    cout << "func double a run"<<endl;
}
void func(double a,int b){
    cout << "func double a,int b  run"<<endl;
}
void func(int a,double b){
    cout << "func int a,double b  run"<<endl;
}

//函数重载的坑
//引用加不加const 是可以进行重载。
void func(int &a){
    cout << "int &a"<<endl;
}
void func(const int &a){
    cout << "const int &a"<<endl;
}
int main() {
    func();
    func(10);
    func(3.14);
    return 0;
}



#define PI 3.14

//c++三大特性: 封装/继承/多态
//类的学习
//求圆周长
class Circle { //class 关键字+ 类名
    //访问权限
public:
    //属性
    double r;

    //行为
    double calculateZC() {
        return 2 * PI * r;
    }
};

class Student {

public:
    string name;
    int num;


public:
    void setName(string name) {
        this->name = name;
    }

    void setNumber(int number) {
        this->num = number;
    }

    void showStudent() {
        cout << "名字:" << name << " 学号:" << num << endl;
    }


};

//三种权限
//1.public 公共权限  类内可以访问,类外面也可以访问。
//2.protected 保护权限 类内可以访问,类外不可以访问。子类可以访问。
//3.private 私有权限   类内可以访问,类外不可以访问。子类不可以访问。

class Person {
public:
    string name;
protected:
    string car;
private:
    int passwd;

public:
    void show() {//类内都可以进行访问
        name = "张三";
        car = "摩托";
        passwd = 123;
        cout << name << " " << car << " " << passwd << endl;
    }
};

int main() {
    Circle circle;
    circle.r = 5;
    cout << circle.calculateZC() << endl;

    Student student;
    student.setName("张三");
    student.setNumber(20);
    student.showStudent();

    Person person;
    person.name = "赵老六";
//    person.car = "奔驰"; 类外无法访问
//person.password = 567;类外无法访问
    person.show();
    return 0;
}





数据治理是确保数据准确性、可靠性、安全性、可用性和完整性的体系和框架。它定义了组织内部如何使用、存储、保护和共享数据的规则和流程。数据治理的重要性随着数字化转型的加速而日益凸显,它能够提高决策效率、增强业务竞争力、降低风险,并促进业务创新。有效的数据治理体系可以确保数据在采集、存储、处理、共享和保护等环节的合规性和有效性。 数据质量管理是数据治理中的关键环节,它涉及数据质量评估、数据清洗、标准化和监控。高质量的数据能够提升业务决策的准确性,优化业务流程,并挖掘潜在的商业价值。随着大数据和人工智能技术的发展,数据质量管理在确保数据准确性和可靠性方面的作用愈发重要。企业需要建立完善的数据质量管理和校验机制,并通过数据清洗和标准化提高数据质量。 数据安全与隐私保护是数据治理中的另一个重要领域。随着数据量的快速增长和互联网技术的迅速发展,数据安全与隐私保护面临前所未有的挑战。企业需要加强数据安全与隐私保护的法律法规和技术手段,采用数据加密、脱敏和备份恢复等技术手段,以及加强培训和教育,提高安全意识和技能水平。 数据流程管理与监控是确保数据质量、提高数据利用率、保护数据安全的重要环节。有效的数据流程管理可以确保数据流程的合规性和高效性,而实时监控则有助于及时发现并解决潜在问题。企业需要设计合理的数据流程架构,制定详细的数据管理流程规范,并运用数据审计和可视化技术手段进行监控。 数据资产管理是将数据视为组织的重要资产,通过有效的管理和利用,为组织带来经济价值。数据资产管理涵盖数据的整个生命周期,包括数据的创建、存储、处理、共享、使用和保护。它面临的挑战包括数据量的快速增长、数据类型的多样化和数据更新的迅速性。组织需要建立完善的数据管理体系,提高数据处理和分析能力,以应对这些挑战。同时,数据资产的分类与评估、共享与使用规范也是数据资产管理的重要组成部分,需要制定合理的标准和规范,确保数据共享的安全性和隐私保护,以及建立合理的利益分配和权益保障机制。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值