当前位置: 首页 > news >正文

新手入门c++(10)

今天我要给你们了解一下一些零碎的小知识,用来装逼非常好,可以提升你的代码档次。

1.using namespace std的运用。

它告诉编译器在当前的代码文件中使用标准库命名空间 std 中的所有名称。这样做可以减少代码的冗余,使得代码更加简洁。但是,它也可能导致命名冲突,尤其是在大型项目中,因此有些开发者会避免在头文件中使用它,或者在较小的作用域内使用特定的 using 声明来引入特定的名称。但如果要避免应用它,你得像我这样:

#include<bits/stdc++.h>
int a,b;
std::string s;//字符串类型要加前缀std:: 
int main(){std::cin>>a>>b;//输入方法一:在cin/cout后面加std:: scanf("%s",s);//方法二:用格式化输入输出;std::cout<<a*b<<std::endl;//endl也要写前缀 printf("%s",s);return 0;
}

逼格,展开!(你敢相信这只是求平均值,用来吓吓新手,后面学精了会觉得很简单)

#include <iostream>
#include <vector>
int main() {int sum = 0;double average;std::vector<int> numbers;std::cout << "Enter numbers (type 'done' to finish): ";std::string input;while (true) {std::cin >> input;if (input == "done") {break;}try {int number = std::stoi(input);numbers.push_back(number);sum += number;} catch (const std::invalid_argument& e) {std::cout << "Invalid input. Please enter a number or 'done'." << std::endl;std::cin.clear();std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');}}if (!numbers.empty()) {average = static_cast<double>(sum) / numbers.size();std::cout << "Sum of numbers: " << sum << std::endl;std::cout << "Average of numbers: " << average << std::endl;} else {std::cout << "No numbers were entered." << std::endl;}return 0;
}

2.送你两串代码

①#pragma GCC optimize(自己填0~3)

#pragma GCC optimize() 是一个编译器指令,用于告诉 GCC 编译器在编译时应用特定的优化级别。这个指令是 GCC 特有的,用于在编译过程中控制优化的行为。

  • #pragma 是一个预处理指令,用于在编译时提供额外的信息给编译器。
  • GCC 指定了这个指令是针对 GCC 编译器的。

GCC 的优化级别从 0 到 3,数字越大,优化的程度越高,编译时间越长,生成的代码运行效率越高。优化级别 2 是一个中等级别的优化,它包括了大多数常用的优化选项,如循环展开、分支预测等。

这里是一些常见的优化级别及其含义:

  • optimize(0):没有优化,编译速度最快,生成的代码体积最大,运行效率最低。
  • optimize(1):基本优化,适用于调试,编译速度较快,生成的代码体积和运行效率适中。
  • optimize(2):中等优化,适用于发布版本,编译速度较慢,生成的代码体积较小,运行效率较高。
  • optimize(3):最高优化,适用于性能要求极高的场景,编译速度最慢,生成的代码体积最小,运行效率最高。

需要注意的是,优化级别越高,编译时间越长,而且可能会引入一些难以预料的副作用,如代码的非确定性行为。因此,选择合适的优化级别需要根据实际需求和场景来决定。虽然对你们新手几乎无用,但挂上去装一装还是可以的。

②typedef 定义类型 定义名;

在 C 和 C++ 中,typedef 是一个关键字,用于为现有的数据类型定义一个新的类型名。这是一种类型别名声明,它创建了一个新的名称来表示一个现有的类型。使用 typedef 可以使代码更加清晰,尤其是当处理复杂的类型定义时,如指针或数组。

不行了,再写你们就要装上天了,下期带你们深入了解string类型的函数以及小技巧。

点个关注+收藏+点赞,求求了(qwq)


http://www.mrgr.cn/news/68702.html

相关文章:

  • 【分享】这篇教程助力你成为 JavaScript 糕手!(四)
  • C++代码优化(二): 区分接口继承和实现继承
  • 网络规划设计师-(13)物理层
  • 二分答案—愤怒的牛-P1676 [USACO05FEB] Aggressive cows G
  • sdm845(oneplus6)的启动漰溃ramdump被提交3e7f37解析-内核启动日志报错(空指针、Oops)
  • 易考八股文之docker常用命令
  • 与同行争夺白牌商品市场 京东补贴100亿扶持1万家产业带工厂
  • 爬虫学习7
  • 【 AI写作鹅-注册安全分析报告-无验证方式导致安全隐患】
  • Ubuntu20.04离线安装nginx
  • 微积分复习笔记 Calculus Volume 1 - 4.9 Newton’s Method
  • Java字节码增强库ByteBuddy
  • [面试]关于Redis 的持久化你了解吗
  • 孩子厌学怎么办?家长可以这样做
  • sqoop Oracle 导入到hive 日期时间消失
  • 【MySQL】零碎知识点(易忘 / 易错)总结回顾
  • vue3 动态路由+动态组件+缓存应用
  • 代码 RNN原理及手写复现
  • 《FreeRTOS的配置与临界段》
  • 【Linux系统】—— 基本指令(二)
  • 建筑安全员题库分享
  • 免费 CRM 软件推荐:2025年国内外这10款系统值得试
  • 【HarmonyOS】not supported when useNormalizedOHMUrl is not true.
  • Hatcher代数拓扑教材
  • 05 SQL炼金术:深入探索与实战优化
  • 继承(c++)