![](https://img-blog.csdnimg.cn/528120e847bb40fb9636f46d7e187274.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
C/C++编程
文章平均质量分 75
讲述C/C++相关编程知识
&Mr.Gong
人生如逆旅 我亦是行人
展开
-
【C语言】常用公式函数使用
1.sqrt()函数:求给定值的平方根2.excp() 函数:e的次幂函数3.pow()函数:求x的y次方(次幂)4.abs()/fabs()函数:求整数/浮点数的绝对值5.ceil()函数:向上取整6.floor()函数:向下取整7.modf()函数:将浮点数分解为整数及小数两部分8.hypot()函数:求直角三角形的斜边长9. 角度、弧度互换公式原创 2022-04-30 22:05:17 · 7943 阅读 · 1 评论 -
C++ String 的erase、remove和pop_back删除方法
一. erase 删除erase 方法原型1. basic_string & erase(size_type pos=0, size_type n=npos); 从给定起始位置pos处开始删除, 要删除字符的长度为n, 返回值修改后的string对象引用。通俗讲:erase(pos,n); 删除从pos开始的n个字符,比如erase(0,1)就是删除第一个字符。#include<iostream>#include<string>using na..原创 2021-10-13 20:12:45 · 18305 阅读 · 4 评论 -
C++ 中三角函数:sin,cos,asin,acos等
在C++中调用数学函数时,需包含头文件#Include<math.h> C++中三角函数操作的是弧度,而不是角度。所以进行计算时需要将角度转化为弧度。 弧度=角度*Pi/180;常用函数:abs绝对值函数acos反余弦函数asin反正弦函数atan反正切函数exp e的x次方cos余弦函数sin正弦函数tan正切函数ceil求不小于x的最小整数 cosh求x的双曲余弦值fabs求浮点数x的绝对值fmod计算x/y的余数 frexp把浮点数x分解成尾数和指数原创 2021-07-27 16:32:33 · 18296 阅读 · 0 评论 -
c++11 :emplace_back
在STL中,进行插入元素时,有insert和push两种选择方式,在“右值引用”和移动语义时,提出了更高效的插入方法:函数原型:template <class... Args>void emplace_back (Args&&... args); 在容器尾部添加一个元素,这个元素原地构造,不需要触发拷贝构造和转移构造。而且调用形式更加简洁,直接根据参数初始化临时对象的成员。源码push_back模板:void push_back(value_type&原创 2021-07-27 11:17:32 · 619 阅读 · 0 评论 -
C++ pair的用法
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言 一、pair 类型的定义 二、使用步骤 1.引入库 2.读入数据 总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、Pair 类型概述pair是一种模板类型,其中包含两个数据值,两个数据的类型可以不同,基本的原创 2021-07-22 10:30:16 · 4573 阅读 · 0 评论 -
C++中的线程、多线程
C++ 多线程多线程是多任务处理的一种特殊形式,多任务处理允许让电脑同时运行两个或两个以上的程序。一般情况下,两种类型的多任务处理:基于进程和基于线程。基于进程的多任务处理是程序的并发执行。基于线程的多任务处理是同一程序的片段的并发执行。多线程程序包含可以同时运行的两个或多个部分。这样的程序中的每个部分称为一个线程,每个线程定义了一个单独的执行路径。.进程和线程的区别?线程分为用户级线程和内核支持线程两类,用户级线程不依赖于内核,该类线程的创建、撤销和切换都不利用系统调用来实现;内核支持线程依赖于内原创 2020-09-27 20:26:32 · 962 阅读 · 0 评论 -
C++宏定义中“#”与“##”的区别
宏定义在C/C++中使用的非常多,一方面定义一些常量,另一方面定义一些通用函数,但是有些宏定义实现较为复杂,尤其是很多带#或##的宏定义,令很多人读起来很不解,下面就简单介绍一下宏定义中的#和##。1.宏定义里面有个##表示把字符串联在一起。如:#include <stdio.h>#define CAT(x,y) x##yint main(){ char helloworld[] = "hi, hello world!"; printf("%s", CAT(hello,原创 2020-09-25 08:28:08 · 371 阅读 · 0 评论 -
C++ 数组 array 和vector间的联系和区别
一.C++ 数组 array 和vector间的联系和区别相同点:1.都和数组类似,都可以使用标准数组的表示方法来访问每个元素;array和vector都针对下标运算符[]进行了重载2.三者的存储都是使用的连续内存,都可以进行随机访问;在array和vector的底层存储结构均使用数组。不同点:1.array和数组属于定长容量,定义后的空间是固定的,不能进行改变;但是vector属于变长容器,提供了可以动态插入和删除元素的机制,可以根据数据的 插入删除重新构建容器容量原创 2020-09-23 19:54:59 · 4934 阅读 · 0 评论 -
C++ inline用法详解
在函数声明或定义中函数返回类型前加上关键字inline即把min()指定为内联。 inline int min(int first, int secend) {/****/};1.1inline定义inline是C++关键字,在函数声明或定义中,函数返回类型前加上关键字inline,即可以把函数指定为内联函数。这样可以解决一些频繁调用的函数大量消耗栈空间(栈内存)的问题。关键字inline必须与函数定义放在一起才能使函数成为内联函数,仅仅将inline放在函数声明前面不起任何作用。inline是一种原创 2020-09-11 16:23:26 · 18241 阅读 · 4 评论 -
c++中 append()函数用法
append()函数常用的函数原型是: basic_string &append( const basic_string &str ); basic_string &append( const char *str ); basic_string &append( const basic_string &str, size_type index, size_type len ); basic_string &append( const char原创 2020-08-14 14:14:06 · 38002 阅读 · 7 评论 -
C++string类中substr()函数的使用方法
substr()定义substr()是C++语言函数,主要功能是复制子字符串,要求从指定位置开始,并具有指定的长度。如果没有指定长度_Count或_Count+_Off超出了源字符串的长度,则子字符串将延续到源字符串的结尾。语法substr(size_type _Off = 0,size_type _Count = npos)参数:_Off——所需的子字符串的起始位置。字符串中第一个字符的索引为 0,默认值为0。_Count——复制的字符数目返回值——一个子字符串,从其指定的位置开始一种构原创 2020-08-04 13:17:17 · 58622 阅读 · 4 评论 -
C++中定义一个函数为bool类型的作用
1.bool型函数bool型函数(即返回值为bool类型的函数)的作用——获取函数返回值bool getvalue(bool b){ if(b == true) return true; else return false;}int main(){ //在main()中调用函数就可以得到5261函数的返回结果4102 cout<<boolalpha<<getValue(true); return 0;原创 2020-08-04 10:37:49 · 37567 阅读 · 3 评论 -
C++ dll库的封装及调用
进行dll库封装时的自我笔记,以便自己时常回顾。右击工程,点击属性,打开属性界面,在常规一栏中将配置类型从.exe改为.dll1.将main函数改为dllmain函数将main函数里程序去掉,换上定义dll应用程序的入口点的程序,如下://dllmain.cpp:定义DLL应用程序的入口点#include "stdafx.h"BOOL APIENTRY DllMain(HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserve原创 2020-08-04 18:46:34 · 9095 阅读 · 1 评论