开源 企业版 高校版 私有云 模力方舟 AI 队友
代码拉取完成,页面将自动刷新
捐赠
捐赠前请先登录
扫描微信二维码支付
取消
支付完成
支付提示
将跳转至支付宝完成支付
确定
取消
3 Star 10 Fork 6

secondtonone1/cpplearn

加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
已有帐号? 立即登录
文件
master
分支 (1)
master
master
分支 (1)
master
克隆/下载
克隆/下载
提示
下载代码请复制以下命令到终端执行
为确保你提交的代码身份被 Gitee 正确识别,请执行以下命令完成配置
初次使用 SSH 协议进行代码克隆、推送等操作时,需按下述提示完成 SSH 配置
1 生成 RSA 密钥
2 获取 RSA 公钥内容,并配置到 SSH公钥
在 Gitee 上使用 SVN,请访问 使用指南
使用 HTTPS 协议时,命令行会出现如下账号密码验证步骤。基于安全考虑,Gitee 建议 配置并使用私人令牌 替代登录密码进行克隆、推送等操作
Username for 'https://gitee.com': userName
Password for 'https://userName@gitee.com': # 私人令牌
master
分支 (1)
master
cpplearn
/
src
/
func_ .cpp
cpplearn
/
src
/
func_ .cpp
func_ .cpp 3.44 KB
一键复制 编辑 原始数据 按行查看 历史
secondtonone1 提交于 2021年12月24日 17:39 +08:00 . cpp
#include "../inc/func_.h"
#include <iostream>
#include <string>
using namespace std;
size_t count_calls()
{
//调用结束后,这个值仍然有效
static size_t ctr = 0;
return ++ctr;
}
void nochange(int a)
{
a--;
cout << a << endl;
}
void change(int *p)
{
(*p)--;
cout << *p << endl;
}
void change(int &ra)
{
ra--;
cout << ra << endl;
}
bool isShorter(const string &s1, const string &s2)
{
return s1.size() < s2.size();
}
const string &shorterString(const string &s1, const string &s2)
{
return s1.size() <= s2.size() ? s1 : s2;
}
string &shorterString(string &s1, string &s2)
{
auto &r = shorterString(const_cast<const string &>(s1), const_cast<const string &>(s2));
return const_cast<string &>(r);
}
string ::size_type find_char(const string &s, char c, string::size_type &occurs)
{
//第一次出现的位置(如果有的话)
auto ret = s.size();
//设置表示出现次数的形参的值
occurs = 0;
for (decltype(ret) i = 0; i != s.size(); ++i)
{
if (s[i] == c)
{
if (ret == s.size())
//记录c第一次出现的位置
ret = i;
//出现的次数+1
++occurs;
}
}
return ret;
}
// const int ia[]等价于const int * ia
// size表示数组的大小,将它显示地传给函数用于控制对ia元素的访问
void print_array(const int ia[], size_t size)
{
for (size_t i = 0; i != size; ++i)
{
cout << ia[i] << endl;
}
}
// arr是数组的引用,维度是类型的一部分
void print_arrayref(int (&arr)[10])
{
for (auto elem : arr)
{
cout << elem << endl;
}
}
void error_msg(initializer_list<string> il)
{
for (auto beg = il.begin(); beg != il.end(); beg++)
{
cout << *beg << " ";
}
cout << endl;
}
char &get_val(string &str, string::size_type ix)
{
return str[ix];
}
void func_declare()
{
// arrT是一个类型别名,他表示的类型含有10个整数数组
typedef int arrT[10];
// arrT的等价声明
using arrT2 = int[10];
// func返回一个指向含有10个整数的数组的指针
arrT *func1(int);
int(*func2(int i))[10];
// func接受一个int类型的实参,返回值为一个指针
//该指针指向含有10个整数的数组
auto func(int i)->int(*)[10];
}
int odd[] = {1, 3, 5, 7, 9};
int even[] = {0, 2, 4, 6, 8};
//返回一个指针,该指针指向含有5个整数的数组
decltype(odd) *arrPtr(int i)
{
return (i % 2) ? &odd : &even;
}
void print(const char *cp);
void print(const int *beg, const int *end);
void print(const int ia[], size_t size);
typedef string::size_type sz;
void screen(sz ht = 24, sz wh = 80, char back = ' ')
{
}
constexpr int new_sz() { return 42; }
constexpr int foo = new_sz();
constexpr size_t scale(size_t cnt) { return new_sz() * cnt; }
// pf指向一个函数,该函数的参数是两个const string 的引用,返回bool类型
bool (*pf)(const string &, const string &);
//声明一个名为pf2的函数返回值类型为bool*
bool *pf2(const string &, const string &);
// F是函数类型,不是指针
using F = int(int *, int);
// PF是指针类型
using PF = int (*)(int *, int);
F *f1(int);
PF *f2(int);
int (*f3(int))(int *, int);
auto f4(int) -> int (*)(int *, int);
string::size_type sumLength(const string &, const string &);
//根据形参取值,getFcn函数返回值为指向sumLength的指针
decltype(sumLength) *getFcn(const string &);
Loading...
举报
举报成功
我们将于2个工作日内通过站内信反馈结果给你!
请认真填写举报原因,尽可能描述详细。
请选择举报类型
取消
发送
误判申诉

此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。

如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。

取消
提交

简介

cpp 学习笔记,项目源码
取消

发行版

暂无发行版

贡献者

全部

语言

近期动态

不能加载更多了
编辑仓库简介
简介内容
主页
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C++
1
https://gitee.com/secondtonone1/cpplearn.git
git@gitee.com:secondtonone1/cpplearn.git
secondtonone1
cpplearn
cpplearn
master
点此查找更多帮助

搜索帮助

评论
仓库举报
回到顶部
登录提示
该操作需登录 Gitee 帐号,请先登录后再操作。
立即登录
没有帐号,去注册

AltStyle によって変換されたページ (->オリジナル) /