Administrator
发布于 2023-10-18 / 3 阅读 / 0 评论 / 0 点赞

10月18日

生活
  • 快递

  • 被子

  • 吃药涂药

  • 买内库

  • 报销医保

  • 买纸巾

不熟的单词

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 指定编译生成的文件存放目录,其中就包括可执行文件

. 表示存放到当前目录


评论