
C/C++
文章平均质量分 89
C & C++
爱写流水账的NiGo
塞翁失马,焉知非福。
展开
-
C++:头文件递归包含问题(互相包含问题)
目录引言初始版本头文件守卫递归包含会怎么样为什么会出错前置声明是什么如何解决递归包含问题参考引言最近正在疯狂补技术债,以及疯狂赶项目…大一大二摸的鱼终归是要还的,也奉劝大家少摸鱼,不然临近找工作可能就会像我一样焦虑。在写C++项目中,碰到一个非常古怪的问题,当我像往常一样引入一个头文件时,vscode居然给我报红了(我在vscode中使用的是clangd插件):当时就觉得非常震惊,我从未没碰到过只是include一个头文件,居然会报错的情况,当我以为是插件的问题,像往常一样mkdir build &原创 2021-11-04 00:07:21 · 7988 阅读 · 1 评论 -
笔记:《C++并发编程实战》
第一章 你好,C++的并发世界计算机系统中的并发:进行上下文的切换时,操作系统必须为当前运行的任务保存CPU状态和指令指针,并计算出要切换到哪个任务,并为即将切换到的任务重新加载处理器状态。然后CPU可能要将新任务的指令和数据的内存载入到缓存中,这会阻止CPU执行任何指令,从而造成的多的延迟。多进程并发:操作系统在进程间提供附加的保护操作和更高级别的通信机制意味着可以更容易编写安全的并发代码。使用多进程实现并发还有一个额外的优势———可以使用远程连接(可能需要联网)的方式,在不同机器上运行原创 2021-08-17 11:31:06 · 1037 阅读 · 0 评论 -
西邮Linux兴趣小组2017-2019纳新题题解
目录201720171. 分析下列程序的输出。int main(int argc, char *argv[]){int t = 4;printf("%lu\n", sizeof(t--));printf("%lu\n", sizeof("ab c\nt\012\xa1*2"));return 0;}输出:411sizeof()返回操作数占用内存空间的大小,int类型是4...原创 2020-03-07 00:15:28 · 857 阅读 · 0 评论 -
C语言:链表的三种传递信息方式
目录引言传参的三种方式一、全局变量引言当时看浙大翁恺老师的课时一直有一个关于链表的问题没有解决。问题大致如下:在这里插入代码片传参的三种方式一、全局变量这种方式是最简便...原创 2020-02-29 23:37:36 · 2893 阅读 · 0 评论 -
C语言:feof函数的坑
目录引言feof()函数引言做课设的时候踩到这个坑,跟大家分享一下feof()函数看一下下面的代码#include<stdio.h>int main(){ FILE *fp = fopen("try", "w"); if (feof(fp) == 1) puts("文件已结束"); else puts("文件未结束"); return 0;}输出:...原创 2020-02-28 22:40:14 · 1425 阅读 · 0 评论 -
C语言大一课设:旭日苑菜品管理系统
目录引言做课设的经验代码引言大一上学习了C语言以后老师布置了一个课设任务,然后我写的是旭日苑菜品管理系统,旭日苑是我们学校最好吃的食堂哈哈哈(没有之一)。顺便介绍一下我们学校,我们学校是全国第四的邮电大学,又称皇家邮电大学。(反正就是很厉害),那么话不多说就上代码啦。做课设的经验写一个模块测试一个模块(放到新的main函数里测试)有良好的逻辑,建议先写菜单函数链表使用时一定要注意边界...原创 2020-02-28 22:26:14 · 1396 阅读 · 7 评论 -
C语言:简单的Linux版登录系统
目录引言题外话代码引言很长时间没有更新博客啦,这段时间也比较堕落,希望大家引以为戒…这次给大家带来一个简单的Linux版登录系统,因为要写课设所以我先写了这个,把它放上来分享给各位。题外话一、因为代码里面用了Linux shell的一些指令所以Windows系统下面无法正常运行。并且gcc编译器没有conio.h这个库(因为它不是标准库),所以我用了网上找到的一个自定义函数来代替getc...原创 2020-02-21 21:24:48 · 2133 阅读 · 1 评论 -
C语言:缓冲区及字符串的输入与输出
引言字符串在大多数编程语言中都有着举足轻重的地位,在C语言中,字符串亦是如此.本篇博客将简单介绍一下缓存区的概念和几个跟字符串输入输出有关的函数.一、缓冲区概念系统为了加快程序运行的速度预留出来的、暂时置放输出或输入资料的一块内存空间为什么需要缓冲区程序运行时,在CPU中控制单元控制下,计算机从磁盘中读取对应的数据。但是与内存相比,磁盘的读写速度是很慢的,如果我们每次获取数据都从磁盘...原创 2019-12-30 22:19:02 · 5085 阅读 · 0 评论 -
C语言习题:Digital Roots
题目Digital RootsJK学长想对整数的数字求和来找到正整数的数字根。整数根的定义如下:如果结果值是单个数字,则该数字是数字根。如果结果值包含两个或更多个数字,则对这些数字求和并重复该过程。只要需要获得一位数,这就会继续。例如,考虑正整数24.加上2和4得到值6.由于6是单个数字,6是24的数字根。现在考虑正整数39.加上3和9的收益率12.由于12不是一个数字,因此必须重复该过程。...原创 2019-12-15 21:39:18 · 1093 阅读 · 1 评论 -
C语言习题:考虑要全面(瑕疵)
引言这周完成OJ题时碰到一个比较有意思的题目,而网上又没有跟该题的题解,所以想跟大家分享一下我的代码和做法。题目:考虑要全面Description给定两个不超过100000位的实数A和B,请你编写程序来判断A与B是否相等。Input输入有多组数据。每组在一行内包含两个实数A和B,A和B可能包含前导0,可能是整数,也可能不是整数。但数据保证A和B均在100000位以内。Output...原创 2019-12-08 23:08:31 · 301 阅读 · 0 评论 -
多维数组指针&指向分数组的指针&指针运算
引言参考文章:二维数组的指针原创 2019-11-30 15:03:36 · 544 阅读 · 0 评论 -
C++:std::thread arguments must be invocable after conversion to rvalues
目录引言解决方案引言最近在看《C++并发编程实战》的时,书上有一句话这么写:这些参数会拷贝至新线程的内存空间中(同临时变量一样)。即使函数中的参数是引用的形式,拷贝操作也会执行。这有悖linux c的Pthreads API和引用的含义,我便想试试,如果是引用,子线程究竟是和父进程共享一个对象,还是说各持一份拷贝。由于cout并不具有线程安全性(来自陈硕),且使用多次输出运算符相当于调用多次operator<<(),可能使输出变得杂乱,我并没有使用它。方便起见,我也没有使用cond原创 2021-03-10 19:45:27 · 9597 阅读 · 4 评论 -
C++:Assignment to cast is illegal, lvalue casts are not supported
目录引言Example1Example2引言超级久没有写博客了,这次准备记录一个遇到的C++小错误,顺便水一篇…这个错误是:Assignment to cast is illegal, lvalue casts are not supported。该解释没有详细查证,如有错误,欢迎指正。直接放到百度翻译,结果是:对强制转换的赋值非法,不支持左值强制转换 。下面我将以两个例子为大家讲解这个报错原因。Example1#include <bits/stdc++.h>using na原创 2021-03-01 20:59:18 · 2941 阅读 · 3 评论