
C/C++
文章平均质量分 61
Track48
zhengzhaozuo
展开
-
Apue-- 进程终止
有八种方法可以让进程终止(termination),前五种为正常终止:从main返回 调用exit 调用_Exit 或者_exit 最后一个线程从其启动例程返回 最后一个线程调用pthread_exit返回异常终止有三种:调用abort 结合搜到一个信号 最后一个线程对取消请求做出响应启动例程:由于main函数是被启动例程调用的,所以从main函数return时仍返回到启动例程中, main函数的返回值被启动例程得到,如果将启动例程表示成等价的C代码(实际上启动例程一般是直接用汇编写原创 2022-05-04 14:55:57 · 775 阅读 · 1 评论 -
const 和non-const成员函数转化
翻译:GAN下的深度学习模型:协作深度学习中的信息泄漏链接:https://arxiv.org/abs/1702.07464.ABSTRACT深度学习最近因其能够解决端到端学习系统而在机器学习中非常流行,在该系统中,特征和分类器同时学习,在高结构化和大型数据库的存在下显著提高了分类精度。它的成功是由于最近的算法突破、越来越强大的计算机和对大量数据的访问。研究人员还考虑了深度学习的隐私影响。模型通常以集中的方式训练,所有的数据都由相同的训练算法处理。如果这些数.原创 2021-10-29 17:23:49 · 1261 阅读 · 1 评论 -
IP转换函数
人们通常使用可读性比较好的字符串来表示IP地址,比如IPV4的点分十进制,或者IPV6的十六进制,但在编程中我们需要将其转化为二进制(即网络字节序,大端字节序)#include <stdio.h>#include <arpa/inet.h>int main(){ //将点分十进制转化为整型(1),失败时返回INADDR_NONE,即广播地址,因此广播地址不能抓换 in_addr_t s1 = inet_addr("127.0.0.2232"); p原创 2021-07-12 10:56:59 · 136 阅读 · 0 评论 -
CPP-ch04 复合类型
4.1 数组数组声明时必须指明:其类型、数组名以及元素数量,且元素数量不能是变量,必须是整型常数。 编译器不会检查使用的下标是否有效,编译器不会指出错误,但是运行后,可能会引发问题。 数组定义时的初始化可以用花括号括起来,之后就不能使用初四话了:int yam[3] {1,2,3}; //等号可以省略,方括号里面的3也可以省略,C++编译器将计算元素个数 如果只对数组的一部分进行初始化,则编译器将把其他元素设置为0; 针对第三点的定义初始化时省略方括号里的数字,为获取数组的大小:可以...原创 2021-06-23 09:25:43 · 152 阅读 · 0 评论 -
Linux C/C++ 进程管理
在UNIX/LINUX系统中,用户创建一个新进程的唯一方法就是调用系统调用fork(),调用该函数的进程被称作为父进程,而新创建的进程被称作为子进程,调用语法为下:x_val = fork()调用这个函数之后,之后的代码被子进程和父进程各执行一次,因为子进程拷贝了父进程的上下文逻辑副本,唯一的区别是x_val不一样,子的x_val是0,父的x_val是子进程的进程号,详细操作如下:为新的进程分配一个新的PCB 结构 为子进程赋一个唯一的进程标识符PID 做一个父进程的上下文逻辑副本,(代码段原创 2021-04-12 15:53:26 · 639 阅读 · 0 评论 -
c++-ch04 复合类型
4.1 数组数组声明时必须指明:其类型、数组名以及元素数量,且元素数量不能是变量,必须是整型常数。 编译器不会检查使用的下标是否有效,编译器不会指出错误,但是运行后,可能会引发问题。 数组定义时的初始化可以用花括号括起来,之后就不能使用初四话了:int yam[3] {1,2,3}; //等号可以省略,方括号里面的3也可以省略,C++编译器将计算元素个数 如果只对数组的一部分进行初始化,则编译器将把其他元素设置为0; 针对第三点的定义初始化时省略方括号里的数字,为获取数组的大小:可以...原创 2021-03-08 09:22:42 · 308 阅读 · 0 评论 -
C++复习 2.0 Windows编程
1、句柄句柄:Windows对绝大多数对象的引用都是通过句柄来进行的,通过它可以访问各种资源。句柄不是地址指针,它是作为系统内部表的索引值来使用的。Windows API给这些项目分配确定的句柄,并将句柄返回给应用程序,然后通过句柄来进行操作。一个窗口打开后,内存会变化,但是句柄不会,每一次打开句柄会不一样指针以P或LP开头,句柄以H开头2、实例:一个实例代表一个可执行程...原创 2019-07-06 00:08:26 · 266 阅读 · 0 评论 -
C++复习
第0讲 面向对象技术概述面向对象程序的特点1、开发时间短,效率高,可靠性高,所开发的程序更强壮2、重用,共享,可维护性,精简3、适合于大程序长时间的开发工作面向对象程序设计是一种以对象为基础,以事件或消息来驱动对象执行处理的程序设计技术。OOP的四个基本特征抽象:对具体对象(问题)进行概括,抽出这一类对象的公共性质并加以描述的过程。(数据抽象&&am...原创 2019-07-06 00:08:37 · 276 阅读 · 1 评论 -
运算符++ 重载
class Point{public: float _x; float _y; Point(float x,float y):_x(x),_y(y){}; //前缀,和普通的单目运算符重载一样,!a Point operator++(){ this->_x++; this->_y++; ...原创 2019-06-06 16:54:55 · 1845 阅读 · 0 评论 -
虚继承和虚函数
update:6/6,面向对象程序设计虚函数在一个基类中声明一个函数为virtual类型,即virtual void Run();那么这个函数就是虚函数,作用:实现多态,父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。我这里是class vehicle{public: int MaxSpeed; int Weight; vi...原创 2019-06-06 15:41:40 · 1096 阅读 · 0 评论 -
upper_bound()与low_bound() 及其返回值问题
前提:一个非降序列!!!!!!#include "algorithm"upper_bound() 与 lower _bound()都是 < algorithm > 的一个二分插画早函数 比较高效(log的时间复杂度)并且 方便语法格式lower_bound(数组首地址,数组尾地址,待查元素的值) 由于函数返回的值是 迭代器(似乎是???)所以还要减去数组首地址才是那个值的...转载 2019-06-06 13:38:02 · 838 阅读 · 0 评论 -
C++中的各种进制转换函数汇总
原 C++中的各种进制转换函数汇总 置顶 2018年06月10日 22:09:10 小·幸·运 阅读数:93...转载 2019-06-12 16:55:27 · 2251 阅读 · 0 评论 -
C++ accumulate
不要忘了加#include<numeric>1.累加求和int sum = accumulate(vec.begin() , vec.end() , a);a是初值,accumulate带有三个形参:头两个形参指定要累加的元素范围,第三个形参则是累加的初值。2.字符串连接可以使用accumulate把string型的vector容器中的元素连接起来:...原创 2019-06-12 16:47:30 · 985 阅读 · 0 评论 -
C++ new和数组
1. new和delete运算符一次分配/释放一个对象。2.为了让new分配一个数组对象,我们需要在类型名之后跟一对方括号,在其中指明要分配的对象的数目。int *p = new int[INT_NUM];//方括号中的数必须是整型,但不必是常量3.new T()动态分配一个数组,会得到一个元素类型(T*)的指针。4.初始化动态分配对象的数组默认情况下,new分配...转载 2019-05-28 14:43:11 · 37292 阅读 · 0 评论 -
STL入门学习与STL总结--更新中
从大一下学习C++,老师就说STL是C++精华,“C语言的指针,C++的STL”,结果一直都没什么时间专门去学STL,结果现在到了大三下为了保研夏令营,要开始学习STL咯;目录1、STL介绍2、STL容器--vector1、vector的定义:2、vector访问3、vector实例解析4、vector的常见用途2、STL容器 --set1、set定义...原创 2019-03-15 19:30:58 · 1219 阅读 · 0 评论