草庐IT

内部的

全部标签

c++ - C++ 私有(private)函数的内部链接?

当我用C编写面向对象的代码时,我通常将结构体定义与公共(public)函数放在一个头文件中,并在单独的.c文件中实现公共(public)函数。我将static关键字赋予该类的所有“私有(private)”函数,并在.c文件中实现它们。然后公共(public)函数可以调用属于同一类的私有(private)函数。由于static关键字,无法从外部调用私有(private)函数,因此GCC可以优化其中的许多函数。它们通常是内联的,原始函数从输出目标文件中完全删除。现在回答我的问题:如何对C++类执行相同的操作?假设我有一个头文件:classA{intprivate_field;intpriv

c++ - 模板类内部类的映射迭代器的正确语法?

我想寻求有关正确语法的帮助,以声明一个std::map,其mapped_type是模板类的内部类。请在下面的代码中找到#if/#elseblock。“#if1”block具有包含内部类Inner的模板类Outer。Outer定义函数Func,它接受一个std映射,其mapped_type是Inner类型。#include#if1templateclassOuter{public:Outer(constC&c,constT&t){}virtual~Outer(){}classInner{public:Inner(){}Inner(Tt){}virtual~Inner(){}protect

c++ - 未为内部类推导出模板参数

我想做这样的事情:#includetemplateclassmyclass{Tsomething;public:myclass(Tsomething):something{something}{}structresult{Tvalue;};resultget_result(){return{something};}};templatestd::ostream&operator::result&res){returnstreamm(0);std::cout在这种情况下,当我输入结果(依赖于模板化外部类)时,gcc和msvc都找不到重载的流运算符。我正在尝试做的事情是否可行?

c++ - C++ lambda 如何/可以保留内部状态?

我有一个基本的lambda,如下所示:autol=[](){inti=0;cout多次调用它,将继续打印0。如何保留i?我可以在没有仿函数的情况下这样做吗? 最佳答案 根据你想用这个lambda做什么,你可以考虑以下替代方案:autoexec=[i=0]()mutable{cout使用[](){staticinti=0;cout相反将导致序列1234正在打印。Liveexample 关于c++-C++lambda如何/可以保留内部状态?,我们在StackOverflow上找到一个类似的问

c++ - 如果用作模板参数的类型在需要完整类型的上下文中内部使用,则何时必须完整?

这个问题在这里已经有了答案:关闭11年前。PossibleDuplicate:Incompleteclassusageintemplate我有一个问题困扰了我几个小时。最初我认为该类型在实例化点必须是完整的,但我尝试过的所有编译器都接受该类型在该点仍然是不完整的,只要它被定义翻译单元中的任何位置。为了说明这一点,问题是关于这个简单程序的正确性:templateintsize(){returnsizeof(T);//Tisrequiredtobecompleteinthisexpression}classtest;//testisdeclared,butincompleteintmain

【AI辅助编程笔记】npm install‘npm‘ 不是内部或外部命令,也不是可运行的程序或批处理文件。

Claude回答npminstall'npm'不是内部或外部命令,也不是可运行的程序或批处理文件。Claude应用下午5:28这个错误表示你的电脑上没有安装Node.js和npm。要解决这个错误,你需要:1.下载并安装Node.js。Node.js是一个JavaScript运行环境,里面自带了npm包管理工具。你可以去Node.js官网下载最新版本的Node.js:https://nodejs.org/zh-cn/2.安装Node.js后,打开命令提示符(Windows)或终端(Mac),运行npm-v命令检查npm是否安装成功。3.然后就可以运行npminstall命令了。这个命令将根据pa

限制内部用法方法呼叫者

说我有课Task还有另一堂课Subtask特定任务的执行被委派给了,但始终在Task执行。这意味着Subtask总是需要一个Task,并且在Tasks的属性:classTask:passclassSubtask:def__init__(self,task):self.task=taskdefrun(self):#performsactionsonself.taskownattributes然后我们有一种方法Task这是一个特定的更新。该方法应该仅用于内部用途:classTask:def_update(self):#dosomethingrestricted但是然后我们实际上想从Subtask执

STM32 CubeMX ADC采集 单通道,多通道,内部温度(轮询,DMA,中断)(HAL库)

STM32CubeMXADC采集(HAL库)STM32CubeMXSTM32CubeMXADC采集(HAL库)ADC介绍ADC主要特征Vref+的电压(2.4~3.6)就是ADC参考电压2.4V(相当于秤砣)最小识别电压值:2.4/4096≈0.6mv(不考虑误差)一、STM32CubeMX设置二、代码部分三,单通道轮询采样速度四、内部温度传感器多通道轮询方式设置CubeMX修改代码部分实验现象PA0接地;PA1接VCC;PA2接地;PA3浮空;PA4浮空总结ADC介绍12位ADC是一种逐次逼近型模拟数字转换器。它有多达18个通道,可测量16个外部和2个内部信号源。各通道的A/D转换可以单次、

c++ - 您对在方法内部声明常量的看法...?

Closed.Thisquestionisopinion-based。它当前不接受答案。想改善这个问题吗?更新问题,以便editingthispost用事实和引用来回答。1年前关闭。Improvethisquestion我所管理的团队中的开发人员更喜欢在测试中将变量声明为常量,例如constintsomeValue=1;(而不只是intsomeValue=1;)。当我看到此消息时,我发现它有点奇怪,并质疑他做了什么。他的论点是,对于此测试而言,这是明智的-因为他所分配的值永远不会改变。我一直认为常量是应该在类级别声明的东西。但是,我确实看到了该开发人员的观点。你怎么看?而且,撇开测试,

c++ - 使用继承构造函数时 VS2015 内部编译器错误

这是一个10行的C++11程序,从我正在处理的程序中大大简化了:templateclassBase{public:templateBase(Sx){}};templateclassChild:publicBase{public:usingBase::Base;};templateclassChild:publicBase{public:usingBase::Base;};intmain(){Childchild(8.0f);}MSVC2015输出:1>------Buildstarted:Project:MyProject,Configuration:DebugWin32------1