小编Nas*_*ail的帖子

删除恼人的突出显示Netbeans 7.2 C++

无论何时我写一个变量的名字,我都会得到这个恼人的IDK绿色或黄色高光.它是什么 ?如何摆脱它?
图片在这里:
在此输入图像描述

c++ netbeans highlight netbeans-7.2

21
推荐指数
3
解决办法
1万
查看次数

使用'_'React/React-native为函数名添加前缀是什么意思?

因此按照惯例,因为JavaScript没有访问修饰符,所以我必须在"私有"函数名前加下划线(_).但我在这里有点困惑,比如说我正在用C++或Java编写一个类,它有两个执行内部计算的函数,第二个函数返回内部计算的结果.

所以,我有这两个功能

performInternalSecretCalculation();
getResult();
Run Code Online (Sandbox Code Playgroud)

performInternalSecretCalculation()被认为是私人的,因为我不希望其他类担心如果处理计算,因此我不导出此函数.虽然getResult()是其他类将使用的东西,因此我公开并导出此功能.

但是在React类的情况下,我没有导出任何函数,所有在react类中定义的函数都在其中使用.那么差异化是什么?我什么时候应该在函数名称之前加上下划线?

javascript reactjs react-native

17
推荐指数
1
解决办法
8949
查看次数

Java:在方法中将对象设置为null无效(重用代码)

我正在尝试编写一种从二进制搜索树中删除节点的方法.这是我删除节点的方法.

public void delete(int deletionNodeValue) {
    Node<Integer> nodeToBeDeleted = getNode(deletionNodeValue);
    if(nodeToBeDeleted == null) return; // No node with such value exists throw an error
    if(isLeafNode(nodeToBeDeleted)) {
        nodeToBeDeleted = null;
    } else if (nodeToBeDeleted.getNumChildren() == 1) {
        bypassNode(nodeToBeDeleted);
    }else {
        replace(nodeToBeDeleted, getSuccessor(nodeToBeDeleted.getValue()));
    }
}
Run Code Online (Sandbox Code Playgroud)

我在叶子节点上检查了这个方法,但是在调试之后我发现执行的nodeToBeSelected=null发生,实际上没有删除节点.因为我仍然可以搜索已删除的值,程序仍然设法获取它.

tree.add(5);
tree.delete(5);
System.out.println(tree.getNode(5).getValue()); // Output : 5, should've been deleted
Run Code Online (Sandbox Code Playgroud)

这是我的getNode()方法

public Node<Integer> getNode(int searchValue) {
    Node<Integer> currentNode = root;
    while(currentNode != null) {
        int currentNodeValue = currentNode.getValue();
        if(searchValue == currentNodeValue)
            return currentNode;
        else …
Run Code Online (Sandbox Code Playgroud)

java algorithm reference binary-search-tree

6
推荐指数
2
解决办法
900
查看次数

如果我将函数命名为`swap`,为什么会出现模板错误,但是`Swap`是否合适?

好吧,这样的程序和工作绝对正确

#include <iostream>

using namespace std;

template <typename T>
void Swap(T &a , T &b);

int main(){

    int i = 10;
    int j = 20;

    cout<<"i, j = " << i <<" , " <<j<<endl;
    Swap(i,j);
    cout<<"i, j = " << i <<" , " <<j<<endl;


}
template <typename T>
void Swap(T &a , T &b){
    T temp;
    temp = a ;
    a = b;
    b= temp;
}
Run Code Online (Sandbox Code Playgroud)

但是当我将函数的名称从Swap更改为swap时 会产生错误说明

错误:重载'swap(int&,int&)'的调用是不明确的 注意:候选者是:void swap(T&,T&)[与T = int] | || …

c++ templates

5
推荐指数
1
解决办法
229
查看次数

C++函数返回指针,为什么这个工作?

可能重复:
可以在其范围之外访问局部变量的内存吗?

这是一个简单的c ++函数.它的作用是将一个字符数组作为其参数和一个整数n,然后创建一个只包含n个数组元素的新字符数组.

char * cutString(char * ch , int n){

  char * p = new char[n];
  int i ;
  for(i = 0 ; i < n ; i++)
         p[i] = ch[i];
  while(i <= n ){
    p[i++] = '\0';
  }
  return p ;

}
Run Code Online (Sandbox Code Playgroud)

这很好,但如果我改变char * p = new char[n];,char p[n];我会看到有趣的人物.怎么了?前者有什么不同?另外,p是临时变量; 该函数如何成功返回?

c++ memory pointers

3
推荐指数
2
解决办法
1199
查看次数

C++“char *”和“char * = new char[]”之间的区别

所以,如果我想声明一个字符数组,我可以这样做

char a[2];
char * a ;
char * a = new char[2];
Run Code Online (Sandbox Code Playgroud)

忽略第一个声明,其他两个使用指针。据我所知,第三个声明存储在堆中,并使用删除运算符释放。第二个声明是否也将数组保存在堆中?这是否意味着如果某些内容存储在堆中并且未释放,则可以在文件中的任何位置使用,例如具有文件链接的变量?我在一个函数中尝试了第三个和第二个声明,然后在另一个函数中使用该变量,但它不起作用,为什么?第二个和第三个声明之间还有其他区别吗?

c++ memory pointers dynamic heap-memory

1
推荐指数
1
解决办法
2557
查看次数

重复之前在 setInterval 内运行一次函数

我有一个函数,可以使用 setInterval 在页面加载时每 5 分钟检查一次自上次访问以来的日期变化。此外,还有与每天相关的数据将存储在本地存储中。

setInterval(function(){
  if(newDay()) {
     today = getTodaysDay();
     // store required data in the database
  }
}, 30000);
Run Code Online (Sandbox Code Playgroud)

问题是,当日期发生变化并且我从数据库记录当天的数据时,我会看到“未定义”5 分钟,直到 setInterval 内的函数运行为止。有没有办法来解决这个问题?我尝试复制 setInterval 中的所有内容并将其放置在上面setInterval(function()...,但这似乎不起作用。

javascript

0
推荐指数
1
解决办法
3213
查看次数