生活
快递
被子
吃药涂药
买内库
报销医保
买纸巾
不熟的单词
311个四级高频词汇(带考频) - 知乎 (zhihu.com)
resident a.定居的 n.居民
correspond 符合,联系
research(175次)v.研究、调查
digital a.数码的,数字的
appeal n.呼吁,恳求:申诉
individual a.个人的n.个人
academic a.学院的 n.大学教师
obesity n.肥大,肥胖
item n.物品,条款,项目
recession n.经济衰退
regulation n.规章
promote 促进;提升;推销
involve 包含;参与
condition 条件,状态
pose v.引起(困准等);提出
compound n化合物 v.合成
approach v.接近 n.接近;方法
occasion n.场合;时机
divorce 离婚
innovation n.创新,改革
engage v参与,从事,雇佣
关于一个c++语法的疑问
已解决
要加上Connection::
不然不认为改函数属于该类
为什么c++刚申请的对象还要清零?
刚申请的对象不应该本身就默认清零的吗?
在C++中,当我们使用new关键字动态分配内存来创建对象时,这些内存空间并不会自动清零。相反,它们的值是未定义的,即它们可能包含任意的值。
这是因为C++的设计哲学之一是尽可能地提供高效的操作,包括内存分配和对象创建。在大多数情况下,我们并不需要将新分配的内存清零,因为这会带来额外的开销。如果我们确实需要清零,可以使用memset等函数来手动清零。
此外,C++也提供了一种初始化对象的方式,即使用构造函数。通过构造函数,我们可以在对象创建时对其进行初始化,而不需要依赖于内存的初始值。这种方式更加灵活和高效,因为我们可以根据需要选择性地初始化对象的成员变量。
总而言之,C++不会自动清零新分配的内存,这是为了提高性能和灵活性。如果需要清零,可以手动进行操作,或者使用构造函数来初始化对象。
(62 封私信 / 97 条消息) c/cpp 申请一个基础类型,无论是new int ,或者malloc 都无法默认将内存清零? - 知乎 (zhihu.com)
Cmake学习
CMakeLists.txt
cmake_minimum_required(VERSION 3.15)
# set the project name
project(Tutorial)
# add the executable
add_executable(Tutorial tutorial.cpp)
cmake_minimum_required
指定使用 CMake 的最低版本号
project
指定项目名称
add_executable
用来生成可执行文件
CMake 支持大写、小写和混合大小写命令
// tutorial.cpp
#include <cmath>
#include <cstdlib>
#include <iostream>
#include <string>
int main(int argc, char* argv[])
{
if (argc < 2) {
std::cout << "Usage: " << argv[0] << " number" << std::endl;
return 1;
}
// convert input to double
const double inputValue = atof(argv[1]);
// calculate square root
const double outputValue = sqrt(inputValue);
std::cout << "The square root of " << inputValue
<< " is " << outputValue
<< std::endl;
return 0;
}
配置项目,并生成构建系统
想使用 MinGW 编译器,可以通过
-G
参数来进行指定,只有第一次构建项目时需要指定
mkdir build
cd build
cmake -G"MinGW Makefiles" ..
此时在 build 目录下会生成 Makefile 文件,然后调用编译器来实际编译和链接项目:
cmake --build .
--build
指定编译生成的文件存放目录,其中就包括可执行文件
.
表示存放到当前目录
。